百度贴吧——爬虫python

 1 # -*- coding:utf-8 -*-
 2 # *************************************
 3 #     程序:学习蜘蛛协议的第一个例子
 4 #     版本:1.0
 5 #     作者:Silence
 6 #     语言:Python 2.7
 7 #     日期:2014-03-15
 8 #     操作:就是下载贴吧里面某个贴吧的所有网页,并且存储为html文件
 9 # *************************************
10 
11 import string,urllib2,re
12 from urllib2 import HTTPError
13 
14 def baidu_tieba(url,begin_page,end_page):
15     for i in range(begin_page,end_page+1):
16         sName = string.zfill(i,5) + '.html'
17         print '正在下载第',str(i),'个网页,并将其存储为',sName,'.....'
18         try:
19             m = urllib2.urlopen(url + str(i)).read()
20         except HTTPError, e:
21             print '亲,你给的地址出问题了。'
22             if hasattr(e,'reason'):
23                 print 'Code:',e.code,';Reason',e.reason
24             pass
25 
26         f = open(sName,'w')
27         try:
28             f.write(m)
29         except Exception, e:
30             print '存储网页',sName,'出错!'
31             pass
32         finally:
33             f.close()
34 
35 if __name__ == '__main__':
36     bdurl = str(raw_input('请输入贴吧的地址,去掉pn=后面的数字:\n'))
37     #因为现在贴吧需要登录上去,并且点击页数才会出现pn=,所以在这里加个判断,自己补全pn=
38     pattern='.+pn=$'
39     m=re.match(pattern,bdurl)
40     if m == None:
41         bdurl += '?pn='
42     print bdurl
43     begin_page = int(raw_input('请输入开始的页数:\n'))
44     end_page = int(raw_input('请输入终点的页数:\n'))
45 
46     baidu_tieba(bdurl,begin_page,end_page)

 

转载于:https://www.cnblogs.com/SilenceCity/p/3639498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值