首页 文章

scrapy CrawlSpider:抓取策略/队列问题

提问于
浏览
0

我几天前开始使用scrapy,学习了抓取特定网站,即dmoz.org示例;到目前为止它很好,我喜欢它 . 由于我想学习搜索引擎开发,我的目标是为任何“颜色”和内容的大量网站构建一个爬虫(以及存储,索引器等) .

到目前为止,我还尝试了深度优先顺序和bredth-first-order爬行 .

我现在只使用一条规则,我设置了一些跳过的路径和一些域 .

Rule(SgmlLinkExtractor(deny=path_deny_base, deny_domains=deny_domains),
        callback='save_page', follow=True),

我有一个管道,一个mysql存储器来存储下载页面的URL,正文和 Headers ,通过带有这些字段的 PageItem 完成 .

我现在的问题是:

  • 使用项目进行简单的页面存储是否可以?

  • 如果页面已被抓取(在过去的六个月中)蜘蛛检查数据库,它是如何工作的,它是以某种方式构建的?

  • 是否有像无用域名的黑名单,即 . 占位符域,链接农场等?

还有许多其他问题,如存储,但我想我停在这里,只是一个更常见的搜索引擎问题

  • 有没有办法从其他专业爬虫获取爬网结果数据,当然必须通过发送硬盘完成,否则如果我自己抓取它们,数据量将是相同的(压缩左侧) .

1 回答

  • 0

    我将尽力回答你的两个问题:

    使用项目进行简单的页面存储是否可以?

    AFAIK,scrapy并不关心你放入物品领域的内容 . 只有您的管道才会处理它们 .

    如果页面已经被抓取(在过去的六个月中)蜘蛛检查数据库,它是如何工作的,它是以某种方式构建的?

    Scrapy具有重复的中间件,但它仅在当前会话中过滤重复项 . 您必须手动阻止scrapy不抓取您在六个月前抓取过的网站 .

    至于问题3和4 - 你不理解它们 .

相关问题