Scrapy 使用 make_requests_from_url(url)

2 投票
1 回答
4118 浏览
提问于 2025-04-15 16:27

在Scrapy的教程中,有一个叫做BaseSpider的方法:

make_requests_from_url(url)

这个方法接收一个网址(URL),然后返回一个请求对象(Request object),或者一组请求对象,用来抓取数据。

这个方法通常用在start_requests()方法中,用来构建最初的请求,简单来说,就是把网址转换成请求。

如果没有特别修改,这个方法会返回一些请求,这些请求的回调函数是parse(),并且会启用dont_filter参数(想了解更多可以查看Request类的说明)。

你明白这个方法是干什么的吗?我可以用make_requests_from_url和BaseSpider来代替SgmlLinkExtractor和CrawlSpider吗?因为后者对我来说不太管用。

我想抓取的不仅仅是给定的初始网址,但Scrapy没有做到这一点。

谢谢

1 个回答

5

没错,CrawlSpider在很多情况下都很有用,也很方便,但它只适用于一部分蜘蛛。如果你需要更复杂的功能,通常需要从BaseSpider这个基础类去创建一个新的类,并实现start_requests()这个方法。

撰写回答