python爬虫初体验(百度贴吧)

最近闲来无事在网上看了会python的教程,发现上手比较简单。于是心血来潮想写个脚本玩玩。写什么呢?想起以前在贴吧里追的某个帖子,在线看起来特别麻烦,所以想把它爬下来看。

直接上代码:

#coding = utf-8
import urllib
import sys
from pyquery import PyQuery
import re
reload(sys)
sys.setdefaultencoding("utf-8")
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
html = unicode(getHtml("http://tieba.baidu.com/p/1894972828?see_lz=1"), "utf-8")
q = PyQuery(html)
href = q.find('.l_posts_num:first a:last').attr("href")
reg = r'pn=(\d+)'
result = re.search(reg, href)
pageMax = result.group(1)
i = 1
file = open('content.txt', 'ab+')

while i <= int(pageMax):
    html = unicode(getHtml("http://tieba.baidu.com/p/1894972828?see_lz=1&pn="+str(i)), "utf-8")
    q = PyQuery(html)
    content = q.find('cc').find('.j_d_post_content').text()
    file.write(content)
    print '第'+str(i)+'页完成'
    i += 1

file.close()
其中的pyquery默认是未安装的,需要使用easy_install安装。(easy_install是python下的一个包管理器,相当于nodejs的npm,如果没有安装请自行百度哈)

代码中因为涉及到中文,所以得加上

reload(sys)
sys.setdefaultencoding("utf-8")
不然就会报错。


你可能感兴趣的:(webapp,python,爬虫,百度贴吧)