分析過程:打開瀏覽器開發(fā)者工具愚臀,通過點(diǎn)擊下一頁可以知道內(nèi)涵社區(qū)的下一頁是
動(dòng)態(tài)加載刷允。
復(fù)制到瀏覽器查看一下是json數(shù)據(jù)
通過仔細(xì)分析發(fā)現(xiàn)
以下是代碼過程
import requests#網(wǎng)絡(luò)請(qǐng)求模塊
import time
#一下是內(nèi)涵段子分析過程
#真實(shí)網(wǎng)址
#http://neihanshequ.com/bar/1/?is_json=1&app_name=neihanshequ_web&max_time=1514600091.0
#上面網(wǎng)址返回的json格式的文件,包含了本頁的評(píng)論內(nèi)容和下一頁網(wǎng)址的時(shí)間戳
#http://neihanshequ.com/bar/1/?is_json=1&app_name=neihanshequ_web&max_time=11514594379
#上面的網(wǎng)址又返回了json文件,包含了本頁的評(píng)論內(nèi)容和下一頁的時(shí)間戳
#故兔毒,爬取思路是==》外層循拼接下一頁網(wǎng)址,內(nèi)層循環(huán)保存評(píng)論內(nèi)容和下一頁的時(shí)間戳甸箱,內(nèi)容保存到本地育叁,時(shí)間戳返回給外層循環(huán)拼接
#注意的是,時(shí)間戳可能是整數(shù)芍殖,也可能是浮點(diǎn)數(shù)豪嗽,
timesamp = 1514600091.0
while type(timesamp) == float or type(timesamp) == int:
time.sleep(2)
url = 'http://neihanshequ.com/bar/1/?is_json=1&app_name=neihanshequ_web&max_time='+str(timesamp)
html = requests.get(url)
for i in range(20):
data = html.json()['data']['data'][i]['group']['text']
print(data,end='\n')
timesamp = html.json()['data']['max_time']
with open('內(nèi)涵段子.txt','a+',encoding='utf-8') as ff:
ff.write('第'+str(i+1)+'內(nèi)涵段子:'+data+'\n'*2)