在Scrapy教程中,有BaseSpider的这种方法:


  make_requests_from_url(url)
  
  接收网址和
  返回一个Request对象(或列表)
  请求对象)刮擦。
  
  此方法用于构造
  最初的要求
  start_requests()方法,并且是
  通常用于将网址转换为
  要求。
  
  除非重写,否则此方法返回
  使用parse()方法的请求为
  他们的回调函数,以及
  dont_filter参数已启用(请参阅
  请求类以获取更多信息)。


您了解这种方法的作用吗?我可以使用makerequestsfrom_url和BaseSpider代替对我不起作用的SgmlLinkExtractor和CrawlSpider吗?

我尝试抓取的内容超出了给定的初始url,Scrapy没有这样做。

谢谢

最佳答案

没错,CrawlSpider在许多情况下都是有用且方便的,但它仅涵盖所有可能的蜘蛛的一个子集。如果您需要更复杂的东西,通常可以将BaseSpider子类化并实现start_requests()方法。

10-07 20:57