php 模拟登陆(不带验证码)采集数据

Posted 学无边涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 模拟登陆(不带验证码)采集数据相关的知识,希望对你有一定的参考价值。

这里模拟表单登陆窗口

提交代码部分

1,生成session_id保存到 cookie

$login_url = \'http://www.96net.com.cn/Login.php\';
$cookie_file = dirname(__FILE__)."/pic.cookie";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $login_url);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);

curl_exec($ch);

curl_close($ch);

2,处理提交的登陆的数据

if($_POST[\'acti\']==\'tj\'){


$userid=$_POST[\'userid\'];
$password=$_POST[\'password\'];

$_post_url = \'http://www.96net.com.cn/login.php?action=Login\'; //登录表单提交地址

$post = "userid=$userid&password=$password";

$ch12 = curl_init();

curl_setopt($ch12, CURLOPT_URL, $_post_url);

curl_setopt($ch12, CURLOPT_HEADER, false);

curl_setopt($ch12, CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch12, CURLOPT_POSTFIELDS, $post); //提交方式为post

curl_setopt($ch12, CURLOPT_COOKIEFILE, $cookie_file);

curl_exec($ch12);

curl_close($ch12);

//以上表示登陆成功
//以下开始采集数据

$data_url19 = "http://www.96net.com.cn/xxxxxxx.php?id=10";     //数据所在地址

$ch19 = curl_init();

curl_setopt($ch19, CURLOPT_URL, $data_url19);

curl_setopt($ch19, CURLOPT_HEADER, false);

curl_setopt($ch19, CURLOPT_HEADER, 0);

curl_setopt($ch19, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch19, CURLOPT_COOKIEFILE, $cookie_file);

$content12 = curl_exec($ch19);

file_put_contents("./content0/31-35/net" . $k . ".txt", $content12); //文件存放的位置
}

以上是关于php 模拟登陆(不带验证码)采集数据的主要内容,如果未能解决你的问题,请参考以下文章

怎样用php中的curl模拟登陆

php实现模拟登陆

c# httpwebrequest 模拟登陆

java 模拟登陆带验证码的网页,就想知道怎么将验证码以图片的形式下载到本地。。。。。

最新验证码识别模拟登陆B站

我的php代码中登陆界面加一个验证码,如何实现