python 抓取天涯帖子内容并保存
作者:大捷龙 csdn : http://blog.csdn.net/koanzhongxue
**
分析:天涯的帖子下载可以分为以下几个步骤
- 手动传入一个帖子首页的地址
- 打开文本
- 提取帖子标题
- 获取帖子的最大页数
- 遍历每一页,获得每条回复的是否是楼主、作者昵称、回复时间。
- 写入看文本
- 关闭文本
预备:
Python的文件操作:
一、打开文件
代码如下:
f = open(“d:\test.txt”, “w”)
说明:
第一个参数是文件名称,包括路径;第二个参数是打开的模式mode
‘r’:只读(缺省。如果文件不存在,则抛出错误)
‘w’:只写(如果文件不存在,则自动创建文件)
‘a’:附加到文件末尾
‘r+’:读写
二、读取内容
f.read(size)
参数size表示读取的数量,可以省略。如果省略size参数,则表示读取文件所有内容。
f.readline()
读取文件一行的内容
f.readlines()
读取所有的行到数组里面[line1,line2,…lineN]。在避免将所有文件内容加载到内存中,这种方法常常使用,便于提高效率。
三、写入文件
f.write(string) 将一个字符串写入文件,如果写入结束,必须在字符串后面加上”\n”,然后f.close()关闭文件
实战:
1 选取天涯帖子:《风云(中国第一本企业家自传)创业家园天涯论坛》
URL= http://bbs.tianya.cn/post-house-590038-1.shtml
2 打开帖子首页
url ='http://bbs.tianya.cn/post-enterprise-8487-1.shtml'
link = urllib2.urlopen(url)
html = link.read()
3 获取标题
HTML:
风云(中国第一本企业家自传)创业家园天涯论坛
#获取帖子的基本信息
#正则表达式,用于提取文章标题
gettitle = re.compile(r'<title>(.*?)</title>')
title = re.findall(gettitle,html)
4 获取最大页数
<strong>1</strong>
<a href="/post-enterprise-8487-2.shtml">2</a>
<a href="/post-enterprise-8487-3.shtml">3</a>
<a href="/post-enterprise-8487-4.shtml">4