溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【更新】比較智能的爬取姓名

發(fā)布時間:2020-09-23 16:38:12 來源:網(wǎng)絡(luò) 閱讀:417 作者:努力的C 欄目:開發(fā)技術(shù)

接前面的博文,前面不好控制抓取的頁數(shù),現(xiàn)在可以較好的控制~~看看代碼

#coding=utf-8
import urllib,urllib2
import re
from bs4 import BeautifulSoup
import time
import sys
reload(sys)  
sys.setdefaultencoding('utf-8')
#獲取要下載圖片的整個頁面的信息
def getHtml(url):
    page=urllib2.urlopen(url)
    html=page.read()
    # print html
    return html
 #篩選數(shù)據(jù)并打印到本地
def getImg(html):
    soup=BeautifulSoup(html,'html.parser')
    dls=soup.find_all('dl',attrs={'class':'feed_list'})
    for index in range(len(dls)):
        p=dls[index].find_all('p')[0]
        print p.text
    f=open("testname.txt","a")
    for index in range(len(dls)):
        nicheng=dls[index].find_all('p')[0].text
        f.write(nicheng)
        f.write('\r\n')
    f.close()
user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12'
headers={"User-Agent":user_agent}
page=59
length=0
while page<100000:
    url='http://www.qzone.cc/wangming/day/list_'+str(page)+'.html'
    print "正在爬取第"+str(page)+"頁......."
    # print "這里呢"
    request=urllib2.Request(url,headers=headers)
    html=getHtml(request)
    # soup=BeautifulSoup(open('nextmingzi.html'),"html.parser")
    soup=BeautifulSoup(html,"html.parser")
    li=soup.find_all('li',attrs={'class':'next'})[0]
    a=li.find_all('a')[0]['href']
    print str(a)
    getImg(html)
    if(str(a)=='javascript:;'):
        print "最后一頁啦........"
        break
    else:
        page=page+1
        continue
    time.sleep(0.5)
f=open('testname.txt','r')
lines=f.readlines()
print "當(dāng)前一共"+str(len(lines))+"條昵稱"
f.close()

就是以前說的,分析一下前面幾頁的“下一頁”和最后一頁的“下一頁”的href,就可以看到區(qū)別了。。。。感覺我這個比較low~~不過也能實(shí)現(xiàn),嘿嘿

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI