Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 等待网页加载到Scrapy_Python_Scrapy_Timedelay_Time Wait - Fatal编程技术网

Python 等待网页加载到Scrapy

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在运行回调之前下载整个响应。您在

我使用scrapy脚本加载URL,使用“yield”

加载URL似乎至少需要5秒钟。因此,我想让Scrapy等待一段时间,以便在item['Description']中加载整个文本。
我在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