最近需要抓取语料库,在一个NLP的论坛上看到有人民日报的1946到2003的所有资料。准备把这些资料抓取下来(虽然有点老了,但是聊胜于无,哪位高人知道更好的来源请告知)。程序是用python写的,主要用到bs4解析模块。由于是新手没有使用多线程,事实证明效率果然不快,因为有大量的数据IO。等看完多线程爬虫再实现一个多线程版本的。先将就用吧。
在windows下运行的同学,请把程序中文件夹和文件名的编码格式改为GBK,代码如下:
#coding:utf-8
#author:zhangyang
#date:2015-5-17
#此程序用于爬取人民日报下的数据资源。主页面需要提取包括1946年到2003年之间所有月份
#次级页面是各个月份的所有报道
#末级页面是报道内容
import urllib2,bs4,os,re
from time import clock
#关于bs4解析url的方法可以参看:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
starturl="http://rmrbw.info/"
testMonthURL="http://rmrbw.info/thread.php?fid=6"
def getSoup(url):
pape=urllib2.urlopen(url)
soup=bs4.BeautifulSoup(''.join(pape),'lxml')
return soup
#从主页面中读取每一年中每个月的URL组成一个URLLIST返回