使用PHP和curl抓取某些网站时遇到问题

时间:2019-12-13 15:33:06

标签: php node.js curl web-scraping request

我想说,我在爬网方面相当有经验-通常我使用过PHP和curl库,并且克服了很多问题。

我的正常流程:

  1. 在Chrome中加载请求
  2. 从“网络”标签中将请求复制为curl
  3. 粘贴到邮递员中
  4. 点击代码并导出代码。

通常这会起作用,如果不起作用,则在调整Cookie,用户代理或其他标头后5分钟内,我可以使请求起作用。

我有两个站点,我只是无法通过PHP / Curl使它工作,但它却可以通过邮递员工作。我还尝试过在nodejs中使用 request 库,这些无法通过PHP / curl正常运行的网站可以正常使用默认请求,例如:

const rp = require('request-promise');
const url = 'https://www.very.co.uk/';

rp(url)
  .then(function(html){
    //success!
    console.log(html);
  })

如您所见,我没有设置任何特殊的标头,用户代理或cookie,但是这可以工作-那么为什么在PHP / Curl中不起作用?

使用PHP / Curl中的一些详细输出,我设法获得以下输出:

发生了错误:(56)SSL读取:错误:00000000:lib(0):func(0):原因(0),错误编号104

但是那为什么我即使设置以下标头也不会得到这个nodejs:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

使用PHP / CURL不能解决问题-您可以帮忙吗?

谢谢 安德鲁

0 个答案:

没有答案