爬虫小工具BeautifulSoup

669 词

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工具可以完成任务的。