python3百度贴吧爬虫案例
来源:互联网 发布:文明5 mac 语言 编辑:程序博客网 时间:2024/05/30 04:40
本案例是演示用python爬取贴吧指定页码的页面并保存到文件,适合初学者爬虫练手。
在清楚了需求的基础上,首先我们要清楚实现步骤,大概可以分为三步:
1、分析需要爬取的网址,找出不同页码的url之间的规律(这步很关键):
通过分析发现不同的页码的url类似,只是参数pn发生了改变,分析得:pn = (i-1)*50(i是当前页码数,如果是第1页,i就是1,pn就是0,以此类推……)
2、发送请求,获取到访问不同页码的url页面的响应数据;
3、将响应的页面对象保存到文件中。
python代码如下:
#获取百度某贴吧指定范围页码的页面
import urllib.request
import urllib.parse
def loadPage(url):
'作用:根据url发送请求,获取服务器响应文件'
'url:需要爬取的url地址'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
request = urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(request)
return response.read()
def writePage(html,filename):
'作用:将html写入文件'
with open(filename,'wb') as f:
f.write(html)
def tiebaSpider():
'''
作用:获取页面
url:需要爬去的url
startpage:起始页码
endpage:截止页码
'''
url = 'http://tieba.baidu.com/f?'
word = input('输入你要获取的贴吧名:')
startpage = input('请输入起始页码:')
endpage = input('请输入结束页码:')
for i in range(int(startpage),int(endpage)+1):
pn = (i-1)*50
params = {'kw':word,'pn':pn}
url = url + urllib.parse.urlencode(params)
print('正在下载第'+str(i)+'页')
html = loadPage(url)
filename = '第'+str(i)+'个.html'
print('正在保存第'+str(i)+'页')
writePage(html,filename)
if __name__ == '__main__':
tiebaSpider()
运行结果如下:
保存的文件如下:
- python3百度贴吧爬虫案例
- Python3 简单爬虫爬取百度贴吧帖子
- 百度贴吧爬虫 2017 -11 -9版 python3.x
- python爬虫案例——百度贴吧数据采集
- python3.x百度贴吧图片爬虫(附知乎图片爬虫)
- python3爬虫攻略(7):爬虫案例
- python3.4 百度贴吧小爬虫
- 第一个Python3.0 爬虫程序, 爬取百度贴吧图片
- python3 多页爬虫爬取百度贴吧帖子所有图片
- [python3]爬虫实战二之爬取百度贴吧帖子
- 百度贴吧爬虫
- 百度贴吧爬虫
- 自己动手,丰衣足食!Python3网络爬虫实战案例
- Python3爬虫百度图片搜索的图片
- Python3 百度图片 美女 下载 爬虫 多线程
- python百度贴吧爬虫
- 百度贴吧爬虫【练手】
- 百度贴吧_爬虫
- PalindromePartitioningLi
- ubuntu 下基于mycat的mysql读写分离配置
- C#委托、事件、泛型委托、Lambda表达式各个详解与综合使用(1)
- 日常生活小技巧 -- 示波器和万用表的使用
- asp.net MVC3的ViewBag关于List的使用
- python3百度贴吧爬虫案例
- 1058. 选择题(20)--Python
- (转)非常完善的Log4net详细说明
- iOS开发笔记之六十八——FRP与RAC介绍(一)
- 显式参数和隐式参数
- Python学习笔记---开发环境搭建
- PostgreSQL查看版本信息
- HDU FatMouse and Cheese
- CSS 的优先级机制[总结]