简单python爬虫程序(爬取百度贴吧帖子)

1.URL地址分析

选取的一个百度贴吧帖子的网址是http://tieba.baidu.com/p/4739169817,各位可以点击进去查看一下。
如果点击只看楼主或者翻页,则会产生两个参数http://tieba.baidu.com/p/4739169817?pn=2或http://tieba.baidu.com/p/4739169817?see_lz=1,分析一下该网址如下:

2.页面爬取

python2.7版本,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#coding=utf-8
__author__ = 'xuzhengxi'
import sys
sys.path.append("/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/")
import urllib2
import string
def baidu_tieba(url,begin_page,end_page):
for i in range(begin_page,end_page+1):
sName = string.zfill(i,5) + '.html'
print '正在下载第' + str(i) + '个网页,并将其存储为' + sName + '......'
f = open(sName,'w+')
m = urllib2.urlopen(url,str(i)).read()
f.write(m)
f.close()
bdurl = str(raw_input(u'请输入贴吧地址,去掉pn=后面的数字: \n'))
begin_page = int(raw_input(u'请输入开始页数: \n'))
end_page = int(raw_input(u'请输入终止页数: \n'))
baidu_tieba(bdurl,begin_page,end_page)

注意: utf-8编码声明,否则容易出现乱码问题。此demo仅使用一些简单的页面爬取,对于有ajax之类的异步加载技术的网站不适用,需要一些成熟的爬虫框架。

hyperxu wechat
欢迎您扫一扫上面的二维码,订阅我的公众号!
坚持原创技术分享,您的支持将鼓励我继续创作!