简单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,分析一下该网址如下:

http://tieba.baidu.com/p/4739169817?see_lz=1 这是网址see_lz 该参数表示是否只看楼主发的帖子,1表示truepn 该参数表示表示第几页

2.页面爬取

python2.7版本,代码如下:

123456789101112131415161718
#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之类的异步加载技术的网站不适用,需要一些成熟的爬虫框架。

文章来源:

Author:hyperxu
link:http://www.hyperxu.com/2017/05/20/20170520-1/