【问题标题】:How to parse a LinkedIn page如何解析LinkedIn页面
【发布时间】:2017-02-15 09:44:18
【问题描述】:

有人可以帮助我如何通过 curl 解析此链接吗?

https://www.linkedin.com/in/williamhgates/

这是我的代码:

运行一下看看结果:

$url = "https://www.linkedin.com/in/williamhgates/";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.linkedin.com/in/williamhgates/'));
$output = curl_exec($ch);
curl_close($ch);dd($output);die;

我只想在一个文件中获取整个源代码,但它显示:

Could not process this client request HTTP method request for URL

【问题讨论】:

  • 可能缺少像 useragents 这样的标头。
  • 我用 html_dom 和 curl 尝试了不同的方法,但它们都不起作用!
  • 如果您在 php.ini 中启用了 file_get_html,您可以使用$html = file_get_html(https://www.linkedin.com/in/williamhgates/'); 并使用 DOM 类从中提取数据。
  • 我之前尝试过,但我根本无法获得源代码。

标签: php html-parsing


【解决方案1】:

除了少数向它们发送流量的爬虫(Google bot、Bingbot 等)外,Linked in 不允许所有爬虫,它们已明确阻止用户代理。因此无法向 Linkedin 页面发出 curl 请求。 但无论如何你设法爬取Linkedin,它可能会给你带来法律问题。因此,最好别管领英。

【讨论】:

    【解决方案2】:

    标准方式似乎不再适用于 LinkedIn。
    即使将 LinkedIn 页面放入 iframe 也行不通。你收到回复说Load denied by X-Frame-Options: https://www.linkedin.com does not permit cross-origin framing.
    Feed43 一直工作到大约 5 周前,现在它得到了HTTP/1.1 999 Request denied 响应。

    有一个官方的 LinkedIn 插件,用于在您的网站上获取 LinkedIn 用户个人资料小部件 - https://developer.linkedin.com/plugins/member-profile

    还有其他一些插件 - https://developer.linkedin.com/plugins

    但这就是你现在得到的一切。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-02
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多