Python response.url如何知道我们使用哪个url';重新请求?(刮屑)
我刚刚开始使用Scrapy,我对最后一行的respons.url.split感到非常困惑。我知道它告诉url从向后拆分1个位置,但我似乎无法理解响应是如何进行的。url知道我们正在请求哪个url,因为我们的url位于变量“start\u url”下,但我们没有引用“start\u url”。请注意,在定义类时,您正在创建Python response.url如何知道我们使用哪个url';重新请求?(刮屑),python,web-scraping,scrapy,response,Python,Web Scraping,Scrapy,Response,我刚刚开始使用Scrapy,我对最后一行的respons.url.split感到非常困惑。我知道它告诉url从向后拆分1个位置,但我似乎无法理解响应是如何进行的。url知道我们正在请求哪个url,因为我们的url位于变量“start\u url”下,但我们没有引用“start\u url”。请注意,在定义类时,您正在创建scrapy.Spider的子类,因此继承父类的方法和属性 class PostsSpider(scrapy.Spider): name = "posts&qu
scrapy.Spider
的子类,因此继承父类的方法和属性
class PostsSpider(scrapy.Spider):
name = "posts"
start_urls = ["https://blog.scrapinghub.com/pages/1/",
"https://blog.scrapinghub.com/pages/2/"]
def parse(self, response):
page=response.url.split('/')[-1]
此父类有一个名为start\u requests
()的方法,该方法将使用类变量start\u url
中定义的URL来创建请求。当一个请求
对象被创建时,它带有一个回调函数。这是当Scrapy引擎收到请求响应时将调用的函数
默认回调函数名为parse
,这就是为什么您需要实现名为parse
的函数来解析spider中的响应
调用此回调函数时,将接收名为response
的参数。这只不过是一个对象,包含有关请求响应的所有信息,包括您发出请求的URL。(response.url
属性)
class PostsSpider(scrapy.Spider):