【问题标题】:Web scraping in php with post method, coockie and captcha使用 post 方法、cookie 和验证码在 php 中进行 Web 抓取
【发布时间】:2016-04-08 06:09:37
【问题描述】:

我正在尝试从 http://iunlocker.net/check_imei.php 这个链接中删除一些数据。

此页面包含 post 方法和验证码,并且它也使用 cookie。我刚刚制作了检查元素并检查了网络,Cookie 设置在标题中

请有人告诉我,我在代码中犯了什么错误?

$ch = curl_init();
$imei="013977000272744";

curl_setopt($ch,     CURLOPT_URL,"http://iunlocker.net/check_imei.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_COOKIE,'_ym_uid=1460051101134309035;  _ym_isad=1; cxx=80115415b122e7c81172a0c0ca1bde40; _ym_visorc_20293771=w');
curl_setopt($ch, CURLOPT_POSTFIELDS,array(
    'imei'=>$imei,      
     ));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);
echo $server_output;

curl_close ($ch); 

用于手动检查的示例 IMEI 013977000272744。

【问题讨论】:

    标签: php web-scraping


    【解决方案1】:

    您正确地注意到该页面有一个验证码,但您没有在您的 POST 数据中包含对它的响应(它将是g-recaptcha-response)。但验证码的全部意义在于您必须是人类才能解决它们,因此除非您设置脚本将验证码传递给人类以解决此问题。

    【讨论】:

    • 您能否通过验证码或类似的方式提出任何其他解决方案
    • @user3446467 您可以购买一些服务,让人工为您解决验证码。除此之外,实际上并没有绕过它们的实用方法。
    • @user3446467 尝试使用服务器端 js,例如 phantom 或 casper
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多