【问题标题】:php curl - browser vs the script [closed]php curl - 浏览器与脚本 [关闭]
【发布时间】:2013-01-04 00:07:47
【问题描述】:

所以我正在尝试通过 PHP 中的 CURL 抓取一些网页。

当我通过 Web 浏览器与 php 脚本查看页面时,我遇到的是不同的结果。

也许他们实现了某种功能来在通过 PHP 脚本查看页面时重定向页面

任何帮助将不胜感激。

提前谢谢你。

【问题讨论】:

  • 结果不同是什么意思?
  • 请提供更多信息。你到底想爬什么?有没有代码之类的
  • 检查浏览器发出的请求并用 curl 模仿它。
  • 所以脚本过去可以正常工作,但有一天我得到了不同的结果
  • 所以你的爬虫可以正常工作一天。您有没有想过,网站的所有者可能对您的抓取行为采取了措施?

标签: php browser curl web-crawler


【解决方案1】:

想象这真的会发生并不是没有道理的。网站所有者可能希望阻止页面抓取。你可以通过这样的 cURL 传递一个用户代理来测试这个理论(这是 iPhone 的 UserAgent):

curl -A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" http://www.apple.com

【讨论】:

    【解决方案2】:

    您可能会得到不同的结果,因为您加载的页面可能包含一些 ajax 内容并且是动态加载的。 cURL 只能加载静态 html,仅此而已。初始负载之后的任何内容都会丢失。如果您想要类似体验网络抓取的浏览器,请考虑 PhantomJS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 2014-10-30
      • 2014-10-08
      • 2021-03-20
      相关资源
      最近更新 更多