Python 等待网页加载到Scrapy
我使用scrapy脚本加载URL,使用“yield” 加载URL似乎至少需要5秒钟。因此,我想让Scrapy等待一段时间,以便在item['Description']中加载整个文本。Python 等待网页加载到Scrapy,python,scrapy,timedelay,time-wait,Python,Scrapy,Timedelay,Time Wait,我使用scrapy脚本加载URL,使用“yield” 加载URL似乎至少需要5秒钟。因此,我想让Scrapy等待一段时间,以便在item['Description']中加载整个文本。 我在settings.py中尝试了“DOWNLOAD\u DELAY”,但没有用。简要介绍firebug或其他工具,以捕获Ajax请求的响应,这些请求是由javascript代码生成的。您可以通过一系列响应来捕获上传页面后出现的ajax请求。这里有几个相关问题:, , .Scrapy在运行回调之前下载整个响应。您在
我在settings.py中尝试了“DOWNLOAD\u DELAY”,但没有用。简要介绍firebug或其他工具,以捕获Ajax请求的响应,这些请求是由javascript代码生成的。您可以通过一系列响应来捕获上传页面后出现的ajax请求。这里有几个相关问题:, ,
.Scrapy在运行回调之前下载整个响应。您在浏览器上注意到的加载时间可能是通过javascript获取/呈现的附加内容,而scrapy本身并不这样做。尝试执行
scrapy shell
以查看站点上的scrapy“sees”。您需要检查页面获取的其他内容,并修改代码以匹配该内容,或者使用无头浏览器呈现页面的javascript。(例如Splash、Selenium)我使用Splash来呈现javascript。但是输出是空的。我不确定scrapy是否正在呈现我的javascript页面,不管您是否使用splash,@marven说的是真的,scrapy都会等待整个响应,然后再继续。如果使用Splash,Splash将成为新的“web服务器”。从Scrapy的角度来看,Splash是它的端点,它将等待Splash返回整个响应。这是打字错误吗?
MyUrl = "www.example.com"
request = Request(MyUrl, callback=self.mydetail)
yield request
def mydetail(self, response):
item['Description'] = response.xpath(".//table[@class='list']//text()").extract()
return item