【发布时间】:2014-10-16 15:00:51
【问题描述】:
是否可以创建一个从两个基本蜘蛛继承/使用功能的蜘蛛?
我正在尝试抓取各种网站,我注意到在许多情况下该网站提供了站点地图,但这只是指向类别/列表类型的页面,而不是“真实”内容。因此,我不得不改用 CrawlSpider(指向网站根目录),但这非常低效,因为它会爬过所有页面,包括很多垃圾。
我想做的是这样的:
- 启动我的 Spider,它是 SitemapSpider 的子类,并将每个响应传递给 parse_items 方法。
- 在 parse_items 中测试页面是否包含“真实”内容
- 如果是,则处理它,如果不是,则将响应传递给 CrawlSpider(实际上是我的 CrawlSpider 的子类)来处理
- CrawlSpider 然后在页面中查找链接,例如 2 级深度和 处理它们
这可能吗?我意识到我可以将 CrawlSpider 中的代码复制并粘贴到我的蜘蛛中,但这似乎是一个糟糕的设计
【问题讨论】:
标签: scrapy