分兩步:
一、對(duì)網(wǎng)址進(jìn)行解構(gòu)化,比如之前的網(wǎng)址是:
https://movie.douban.com/review/9936402/?start=0
發(fā)現(xiàn)其中的最后一個(gè)數(shù)字0是有規(guī)律的上漲,有的是20、20 的上漲,封頂是327頁(yè)(后期也可以自動(dòng)提?。?br> 把網(wǎng)址解構(gòu)化為
url = 'https://movie.douban.com/review/9936402/?start={}'.format(pageNum*20)
使用的是一個(gè)for循環(huán),初始為0,記住這是第一次循環(huán),接著寫入。
二、第二次for循環(huán)一定要在第一次目錄下,實(shí)現(xiàn)兩個(gè)爬取的內(nèi)容疊加。
with open('C:/Users/Administrator/Desktop/新建文本文檔.txt','w',encoding="utf-8")as f:
for n in range(len(result)):
jieguo = "用戶@" + result[n] + "@發(fā)表:" + result2[n]
print(jieguo)
f.write(jieguo+'\n')#寫入數(shù)據(jù)
下面是一個(gè)總的代碼:
import requests
from lxml import html
for pageNum in range(327):
url = 'https://movie.douban.com/review/9936402/?start={}'.format(pageNum*327)
page=requests.Session().get(url)
tree=html.fromstring(page.content)
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
with open('C:/Users/Administrator/Desktop/新建文本文檔.txt','w',encoding="utf-8")as f:
for n in range(len(result)):
jieguo = "用戶@" + result[n] + "@發(fā)表:" + result2[n]
print(jieguo)
f.write(jieguo+'\n')#寫入數(shù)據(jù)