K先生个人博客

当前位置:首页 > 爱技术 > 正文

一起来掌握PHP爬虫(基础篇)

今天我们一起来聊聊PHP爬虫,如果你还是一位PHP的初学者还不是太了解PHP爬虫,那么我这篇文章很适合你,相信看完本篇文章你会对爬虫说“so easy"。话不多说,直接往下看就完事了。 

PHP爬虫初体验 

先什么都不说,我们先来看一段代码。

<?php
$ch = curl_init('http://www.baidu.com');
curl_exec($ch);
curl_close($ch);

执行一下你会发现结果输出的是百度的页面,没错这就是一个最最最基础的爬虫,其实爬虫也就这三步,第一步初始化一个url,第二步执行,第三步关闭。  

最最最基础的爬虫 了解之后,我们开始往下扩展。

<?php
$ch = curl_init('https://www.baidu.com');

// 如果是https协议加上下面两句
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //从证书中检查SSL加密算法是否存在

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //执行成功后不直接输出内容
$content = curl_exec($ch);
curl_close($ch);
var_dump($content);

上面代码注释已经很明白了,需要注意的是curl_exec()执行返回的结果正常情况下是true或false,而为了获取具体的内容我们需要将CURLOPT_RETURNTRANSFER设置为1,这样执行之后就不会直接输出了,我们也能对所获取的数据进行操作。 

上面获取页面数据(爬虫)方法其实属于get,那么post应该怎么做呢 

PHP爬虫之POST提交(基础) 

我们知道提交表单的方式一般是post,那么我们应该利用curl做post提交呢? 

首先,我们先自己写一个接收post数据的接口

<?php
$arr = $_POST;
echo "接收到的用户名为:" . $arr['username'] . '密码为:' . $arr['password'];

写的很简单(方便初学者理解,一切从简哈),就是将post接收到的数据打印出来。  

下面是爬虫代码

<?php
$url = 'http://www.test1.wang/post.php';
$data = 'username=K先生&password=123456';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);//不显示响应头
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//执行成功后不直接输出内容

curl_setopt($ch, CURLOPT_POST, 1); //post
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//提交的数据
$content = curl_exec($ch);//执行
var_dump($content);

自己着手试一试,应该就能明白PHP爬虫是个啥了,有啥问题,记得留言哈。我一定会回复的。  

作者K先生本文地址http://www.gold404.cn/info/38

版权声明:本文为原创文章,版权归 K先生个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

文章评论

* 必填
可选
可选

评论列表