php curl抓取网页内容(php网页数据实现远程获取和采集内容2、实现模拟登陆 )

优采云 发布时间: 2021-10-27 18:11

  php curl抓取网页内容(php网页数据实现远程获取和采集内容2、实现模拟登陆

)

  实现的功能:

  1、实现远程访问和采集内容

  2、实现php网页版的ftp上传下载

  3、实现模拟登录:去邮件系统,curl可以模拟cookies

  4、 实现接口对接(api)、数据传输等:通过平台发送短信,抓取并传输传输的信息。

  5、 实现模拟cookie等:部分属性需要登录后才能操作。

  如何使用 curl 功能:

  默认添加php不支持curl,需要在php.ini中开启该功能

  ;extension=去掉php_curl.dll前面的分号

  1 整个操作的第一步是用cur_init()函数进行初始化

  

$curl = curl_init(‘www.jb51.net')

  2.使用 curl_setopt() 设置选项。

  3.设置好后,执行事务 curl_exec($curl);

  4 最后关闭 curl_close();

  使用php curl实现传输获取功能(后传方式):获取远程网页数据

  

$user = "admin";

$pass = "admin";

$curlpost = "user=$user&pass=$pass";

$ch = curl_init(); //初始化一个curl对象

curl_setopt($ch, curlopt_url, "http://localhost/edu/login.php");

//设置你所需要抓取的url

curl_setopt($ch, curlopt_returntransfer, 0);

//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中

假设上面的0换成1的话,那么接下来的$data就需要echo一下。

curl_setopt($ch, curlopt_post, 1);

//post提交

curl_setopt($ch, curlopt_postfields, $curlpost);

$data = curl_exec($ch);

//运行curl,请求网页。

curl_close($ch);

[/code]

  实现远程模拟登录最基本的部分。

  curl 还需要配置用户名和密码,但是被浏览器隐藏了。

  ================================================ ==============================

  curl 模拟登录

  模拟登录:无需登录php100论坛即可查看相应信息。

  分析登录字段--->登录后保持cookie状态-->读取cookie并跳转到相关页面-->抓取次数

  1、模拟登录后创建文件保存cookie内容

  2、通过读取生成的cookie内容模拟用户登录状态

  3、前往相关页面获取所需内容

  tempname 创建一个临时文件

  tempnam() 函数创建一个具有唯一文件名的临时文件。如果成功,该函数返回新的临时文件名。如果失败,则返回 false。

  tempnam(dir,prefix)

  参数说明

  目录是必需的。指定创建临时文件的目录。

  前缀是必需的。指定文件名的开头。

  相当于 fopen  fwirte  fclose

  它可以返回一个布尔值。使用第三方登录你的qq和msn是非常危险的,因为它可以记录你的登录状态并抓取你的用户名和密码。

  使用curl模拟登录php100论坛

  1、分析输入框字段名和登录需要的字段数

  2、保存cookie模拟登录获取会员金币数量

  代码:

  

//初始化一个 curl 对象

$curl = curl_init();

//设置你需要抓取的url

curl_setopt($curl, curlopt_url, " http://www.baidu.com ");

//设置curl 参数,要求结果保存到字符串中还是输出到屏幕上。

curl_setopt($curl, curlopt_returntransfer, 0);

//运行curl,请求网页

$data = curl_exec($curl);

//关闭url请求

curl_close($curl);

$user = "admin";

$pass = "admin100";

$curlpost = "user=$user&pass=$pass";

$ch = curl_init();

curl_setopt($ch, curlopt_url, " http://localhost/curl/login.php ");

curl_setopt($ch, curlopt_returntransfer, 0);

curl_setopt($ch, curlopt_post, 1);

curl_setopt($ch, curlopt_postfields, $curlpost);

$data = curl_exec($ch);

curl_close($ch);

?>

if($_post['user']=="admin"){

echo "";

}else{

echo "";

}

//print_r($_post);

?>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线