Python爬虫抓取贴吧所有标题

这段代码用于获取指定贴吧下指定页数的所有标题。

原代码不知道是使用哪位仁兄的,已经不记得了,稍微修改了下,请求超时时长为7s,并且把抓取到的文本保存到txt文档中。

工作环境:python 2.7 

操作系统:mac os

完整代码如下:

#!/usr/bin/env python
#coding:utf-8import urllib2
import re
import sysreload(sys)
sys.setdefaultencoding('utf8')
global titles#加载页面内容
def load_page(url):'''发送url请求返回url请求的静态html页面:param url::return:'''try:user_agent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"headers = {"User-Agent" : user_agent}request = urllib2.Request(url,headers = headers)response = urllib2.urlopen(request,timeout=7)html = response.read()#print html#print "--------------------------"getTitle(html)except Exception,e:print str(e)#生成url地址,加载页面内容
def tieba_spider(url,startPage,endPage):for i in range(startPage,endPage + 1):page = (i - 1) * 50my_url = url + str(page)load_page(my_url)print "--------第%d页----------" % i#获得贴吧的标题
def getTitle(html):global titlesinfo = re.findall(r'class="j_th_tit ">(.*?)',html,re.S)for titleList in info:print titleListprint "---------------"titles.write(" ".join(info))if __name__ == '__main__':url = "http://tieba.baidu.com/f?kw=%E8%BD%AC%E5%9F%BA%E5%9B%A0&ie=utf-8&pn="startPage = 1endPage = 731global titles titles = open('tiebaTitles.txt','w')tieba_spider(url, startPage, endPage)titles.close()print "---------------------结束------------------"


程序截图:




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部