我需要在本地抓取和存储以供将来分析有限网站列表的内容。我基本上想在所有页面中啜饮并按照所有内部链接获取整个公开网站。
是否有现有的免费图书馆可以让我到达那里?我见过奇尔卡特,但它是收费的。我只是在这里寻找基线功能。想法?建议?
我需要在本地抓取和存储以供将来分析有限网站列表的内容。我基本上想在所有页面中啜饮并按照所有内部链接获取整个公开网站。
是否有现有的免费图书馆可以让我到达那里?我见过奇尔卡特,但它是收费的。我只是在这里寻找基线功能。想法?建议?
使用Scrapy。
它是一个基于twisted的网络爬虫框架。仍在大力开发中,但它已经可以工作了。有很多好东西:
通过在返回的 HTML 上使用 XPath 选择器,提取有关今天在mininova种子站点中添加的所有种子文件的信息的示例代码:
class Torrent(ScrapedItem):
pass
class MininovaSpider(CrawlSpider):
domain_name = 'mininova.org'
start_urls = ['http://www.mininova.org/today']
rules = [Rule(RegexLinkExtractor(allow=['/tor/\d+']), 'parse_torrent')]
def parse_torrent(self, response):
x = HtmlXPathSelector(response)
torrent = Torrent()
torrent.url = response.url
torrent.name = x.x("//h1/text()").extract()
torrent.description = x.x("//div[@id='description']").extract()
torrent.size = x.x("//div[@id='info-left']/p[2]/text()[2]").extract()
return [torrent]
你真的需要图书馆吗?我强烈推荐Heritrix作为一个伟大的通用爬虫,它将保留整个网页(与只存储部分文本的更常见的爬虫相反)。边缘有点粗糙,但效果很好。
也就是说,你可以试试 HarvestMan http://www.harvestmanontheweb.com/