以采集流浪地球評(píng)論為例:
單個(gè)采集評(píng)論很簡(jiǎn)單,有時(shí)需要用戶名+評(píng)論,如果直接使用+疊加,那么會(huì)提示是list,無(wú)法疊加,這里需要進(jìn)行一個(gè)變通,把結(jié)果作為一個(gè)列表,使用循環(huán)函數(shù)FOR,然后逐個(gè)提取,長(zhǎng)度如何設(shè)計(jì)了,可以采用對(duì)結(jié)果,下面的result進(jìn)行l(wèi)en化,進(jìn)行長(zhǎng)度選取,再使用range,把個(gè)數(shù)限制了。
import requests
from lxml import html
url='https://movie.douban.com/review/9936402/?start=0' #需要爬的網(wǎng)址
page=requests.Session().get(url)
tree=html.fromstring(page.content)#不是utf-8,如何轉(zhuǎn)碼,把(page.text)改為(page.content.decode('gbk'))
result=tree.xpath('//div[@class="content report-comment"]//div[@class="header"]/a/text()') #需要獲取的數(shù)據(jù)
result2=tree.xpath('//div[@class="content report-comment"]//p[@class="comment-text"]/text()')
n = 0
i=result[n]#i\h可以不要,如果為了代碼簡(jiǎn)潔可以加上去
h=result2[n]
for n in range(len(result)):
print("用戶@"+result[n]+"@發(fā)表:"+result2[n])