爬虫之翻页处理
以百度贴吧爬取翻页
- 大致思路:找几个url,删除对url没有影响的参数,并分析网址的变化,找出规律
- 上代码:分析过程及思路都在代码块里了
from urllib import request
from urllib import parse
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"
}
name=input('请输入搜索内容:')
kw={'kw':name}
code_name=parse.urlencode(kw)
begin=int(input('请输入起始页:'))
end=int(input('请输入终止页:'))
for i in range(begin,end+1):
pn=(i-1)*50
url='https://tieba.baidu.com/f?'+code_name+'&pn='+str(pn)
res=request.Request(url,headers=headers)
req=request.urlopen(res)
html=req.read().decode('utf-8')
with open(r'百度贴吧成果\%s贴%d.html'%(name,i),'w',encoding='utf-8')as file:
print('正在爬取第'+str(i)+'页')
file.write(html)