PHP cURL加载延迟

时间:2011-01-06 11:01:44

标签: php curl

我的问题是,我需要cURL加载一个使用基于Ajax的搜索的页面,以获得该搜索的结果。我需要在curl_exec()和值返回之间组织一个延迟。换句话说,我需要执行curl_exec()不少于5秒。 sleep()似乎停止执行curl并且不起作用。 非常感谢任何提示或线索

UPD 我不知道怎么做,但是在这个页面上http://vkontakte.ru/gsearch.php?section=video&q=sample&name=1,但它需要一个帐户来访问curl DOES捕获ajax所做的搜索。但是如果页面加载时间太长,Ajax会返回"action was too fast"错误。所以我只需要延长卷曲执行时间。对不起,如果不清楚。

3 个答案:

答案 0 :(得分:1)

Curl无法捕获ajax请求。也许您可以使用使用webkit模块的Python脚本来代理响应? (https://trac.webkit.org/wiki/PythonGuidelines

答案 1 :(得分:0)

使用FireBug(请参阅Net标签)或其他工具来捕获Ajax请求,而只是卷曲请求数据。

答案 2 :(得分:0)

当您卷曲页面时,您将获得html响应。任何javascript对html的更改都不是等待任何时间 - 这是浏览器所做的更改。

您可以尝试做的是找到在您的html中发出信息请求的代码剪切(如Serg ikS使用FireBug所述)。然后进行第二次卷曲。

有些网站会尽可能地隐瞒这些请求以防止屏幕抓取信息 - 所以它可能不那么容易。

希望有所帮助。

<强>更新

我尝试重现您的错误但没有成功。我可以登录并且html显示所有结果......我只注意到它有时会执行得很慢。

这里我解析了所有搜索结果(使用php / cURL):

(点击放大)