在Scrapy教程中,有BaseSpider的这种方法:
make_requests_from_url(url)
接收网址和
返回一个Request对象(或列表)
请求对象)刮擦。
此方法用于构造
最初的要求
start_requests()方法,并且是
通常用于将网址转换为
要求。
除非重写,否则此方法返回
使用parse()方法的请求为
他们的回调函数,以及
dont_filter参数已启用(请参阅
请求类以获取更多信息)。
您了解这种方法的作用吗?我可以使用makerequestsfrom_url和BaseSpider代替对我不起作用的SgmlLinkExtractor和CrawlSpider吗?
我尝试抓取的内容超出了给定的初始url,Scrapy没有这样做。
谢谢
最佳答案
没错,CrawlSpider在许多情况下都是有用且方便的,但它仅涵盖所有可能的蜘蛛的一个子集。如果您需要更复杂的东西,通常可以将BaseSpider子类化并实现start_requests()方法。