【发布时间】:2015-09-19 20:05:18
【问题描述】:
我想从网站(不是我自己的网站)中抓取一些特定的值(例如新闻文本)。
file_get_contents() 不工作,可能被 php.ini 阻止。
所以我尝试用 curl 来做,问题是:
我得到的只是来自 cloudflare 的重定向文本。
我的爬虫应该执行以下操作:
转到页面 -> 等待 5 秒 cloudflare 重定向 -> 卷曲页面。
任何想法如何在 cloudfare 等待时间后抓取页面? (在 PHP 中)
编辑:所以我尝试了很多东西,问题还是一样。
更具体:它只抓取 cloudflare 重定向页面。 (所以我得到一个重定向到主机的页面,cloudflare 在前面。当我在本地主机上卷曲时,它需要本地主机,所以重定向是 obv 不起作用。)
有没有办法在“卷曲”5秒后开始保存返回数据?
【问题讨论】:
-
您要爬取哪个网站?
-
在工作的浏览器中观察标头,并在您的脚本中使用相同的标头。
-
@machineaddict 我会试试的
-
CloudFlare 的一项服务是机器人检测和阻止。不要指望在 CF 站点上卷曲能够可靠地工作。
-
@Dagon 很有帮助! (顺便说一句,我很确定,他们只想保护 vs ddos,每天提取一次数据并没有错。此外,如果我想窃取数据,为什么要使用 curl。)
标签: php curl web-crawler cloudflare