最近在实习,导师又没得项目让我一起做东西,就自己坐在一边瞎鼓捣东西
那闲着也是闲着,想来写写爬虫
爬虫百度百科上的定义如下
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
也就是从网页抓取自己想要的数据,得到的数据可以进行更深一步的处理。
因为实习是PHP,那就用PHP来写吧,环境是Win10+php7.1+nginx
首先要开curl扩展,在php.ini中将extension=php_curl.dll前面的分号去了,然后重启下php和nginx
然后就开始写一个最简单的爬虫了,把百度首页的内容抓取到本地来
//初始话curl句柄
$ch = curl_init();
//要抓取的网页
$url = "https://www.baidu.com";
//设置访问的URL,curl_setopt就是设置连接参数
curl_setopt($ch, CURLOPT_URL, $url);
//不需要报文头
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//跳过https验证,访问https网站必须加上这两句
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//返回响应信息而不是直接输出,默认将抓取的页面直接输出的
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//开始执行
if (!$output = curl_exec($ch)) {
echo "Curl Error:". curl_error($ch);
}
//执行结束后必须将句柄关闭
curl_close($ch);
//保存页面信息
$html = fopen('D:/baidu_data.html', 'w');
fwrite($html, $output);
fclose($html);
echo '保存成功';
好啦现在已经会抓页面了,接下来来处理一下数据