五、 PHP爬虫第二步-潍坊达内负责整理
<?php
// 爬虫核心功能:获取网页源码
$html = file_get_contents("https://www.baidu.com/index.html");
// 通过 php 的 file_get_contents 函数获取百度首页源码,并传给 $html 变量
echo $html;
// 输出 $html
?>
爬虫网络核心功能已经写出来了,为什么说就这么几行代码就把爬虫核心功能写出来了呢?我猜有人已经明白了吧,其实是因为爬虫是数据获取的程序,就上面几行代码其实已经能够获取数据了,所以爬虫的核心功能已经写出来了.可能有人会说"你这个也太菜了吧!有什么用?",虽然我是很菜,但请别说出来,让我好好装个X.
其实爬虫是用来干嘛,主要看你想让它来干嘛.就像我前些日子为了好玩写了一个搜索引擎网站出来,当然网站很菜,结果排序没有规律,很多都查不到.我的搜索引擎的爬虫就是要写一个适合于搜索引擎的爬虫.所以为了方便我也就用写搜索引擎的爬虫为目标讲解.当然了,我搜索引擎的爬虫还是不够完善,不完善的地方都是要你们自己去创造,去完善.
六、 搜索引擎爬虫的限制
搜索引擎的爬虫有时候不是不能那个网站的页面获取页面源码,而是有robot.txt文件,有该文件的网站,就代表站主不希望爬虫去爬取页面源码.

潍坊达内的我搜索引擎的爬虫其实还有很多不足而导致的限制,例如可能因为无法运行 JS 脚本所以无法获取页面源码.又或者网站有反爬虫的机制导致不能获取到页面源码.有反爬虫机制的网站就如:知乎,知乎就是有反爬虫的机制的网站.
七、以弄搜索引擎爬虫为例,准备写该爬虫需要的东西
PHP 编写基础正则表达式、数据库的使用、运行环境.
八、搜索引擎获取页面源码并获取页面的标题信息
<?PHP
// 通过 file_get_contents 函数获取百度页面源码
$html = file_get_contents("https://www.baidu.com/index.html");
// 通过 preg_replace 函数使页面源码由多行变单行
$htmlOneLine = preg_replace("/ | |/","",$html);
// 通过 preg_match 函数提取获取页面的标题信息
preg_match("/<title>(.*)</title>/iU",$htmlOne,$titleArr);
// 由于 preg_match 函数的结果是数组的形式
$title = $titleArr[1];
// 通过 echo 函数输出标题信息
echo $title;
?>
报错误示例:
Warning: file_get_contents("https://https://127.0.0.1/index.php") [function.file-get-contents]: failed to open stream: Invalid argument in E:websitelogest.php on line 25
https是SSL加密协议,如果出现获取页面时报上面的错误,代表你的 PHP 可能少了OpenSSL 的模块,你可以到网上查找解决办法.
以上就是潍坊达内给大家做的内容详解,更多关于IT的学习,请继续关注潍坊达内