Scrapy 使用 make_requests_from_url(url)
在Scrapy的教程中,有一个叫做BaseSpider的方法:
这个方法接收一个网址(URL),然后返回一个请求对象(Request object),或者一组请求对象,用来抓取数据。
这个方法通常用在start_requests()方法中,用来构建最初的请求,简单来说,就是把网址转换成请求。
如果没有特别修改,这个方法会返回一些请求,这些请求的回调函数是parse(),并且会启用dont_filter参数(想了解更多可以查看Request类的说明)。
你明白这个方法是干什么的吗?我可以用make_requests_from_url和BaseSpider来代替SgmlLinkExtractor和CrawlSpider吗?因为后者对我来说不太管用。
我想抓取的不仅仅是给定的初始网址,但Scrapy没有做到这一点。
谢谢
1 个回答
5
没错,CrawlSpider在很多情况下都很有用,也很方便,但它只适用于一部分蜘蛛。如果你需要更复杂的功能,通常需要从BaseSpider这个基础类去创建一个新的类,并实现start_requests()这个方法。