爬虫小工具BeautifulSoup
BeautifulSoup是一种用于分析网页HTML内容元素的工具,还有类似的Request也可完成相关工作。
下面是一小段程序,翻出来:
from urllib2 import urlopen, URLError
from bs4 import BeautifulSoup
def fetch():
baseUrl = 'http://house.focus.cn/msglist/7906/'
hd = urlopen(baseUrl, timeout = 6)
content = hd.read()
content = content.decode('gb2312', 'ignore')
soup = BeautifulSoup(content)
p = soup.findAll('a')
for item in p:
val = str(item)
if (val.find('title') > 0) and (val.find('href') > 0) and (val.find('font') > 0):
print item.text
tmpurl = 'http://house.focus.cn' + str(item['href'])
print tmpurl
fetch()
Beautiful最本质完成一个作内容,是把HTML的元素标签"对像:化,item化。如果不喜欢那种,直接通过正则表达式在HTML内容中匹配数据,或是不是所有的都用正则,Beautiful是一个不错的选择。
scrapy生成爬虫生成,更工程化,至少会自动生成一个目录构成,自动生成脚本脚架代码。没有非常大的爬取量,这些python工具可以完成任务的。