各种采集应用和采集插件的安装整理

PHP采集页面的四种方法

PHPer 2022-07-15 24 0 0
本文给出的方法是最基本的PHP采集方法,很多网站都做防采集的处理,对于这些网站可以尝试使用QueryList(php项目)采集,另外对于JS生成的页面可以用Nodejs采集。

什么叫采集?

就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。

可以通过三种方法来使用PHP访问到网页

1. 使用file_get_contents()

前提:在php.ini中设置允许打开一个网络的url地址。

904e7509a1_normal.png

使用这个函数时可以直接将路径写入函数中,将所选路径的内容加载出来,但是在访问网上的网址时必须连接网络

<?php echo file_get_contents(https://www.baidu.com/);?>

2. 使用socket技术采集:

socket采集是最底层的,它只是建立了一个长连接,然后我们要自己构造http协议字符串去发送请求。例如要想获取这个页面的内容,http://tv.youku.com/?spm=a2hww.20023042.topNav.5~1~3!2~A,用socket写如下:

<?php
//连接,$error错误编号,$errstr错误的字符串,30s是连接超时时间
$fp=fsockopen("www.youku.com",80,$errno,$errstr,30);
if(!$fp) die("连接失败".$errstr);
//构造http协议字符串,因为socket编程是最底层的,它还没有使用http协议
$http="GET /?spm=a2hww.20023042.topNav.5~1~3!2~A HTTP/1.1\r\n"; // \r\n表示前面的是一个命令
$http.="Host:www.youku.com\r\n"; //请求的主机
$http.="Connection:close\r\n\r\n"; // 连接关闭,最后一行要两个\r\n
//发送这个字符串到服务器
fwrite($fp,$http,strlen($http));
//接收服务器返回的数据
$data=;
while (!feof($fp)) {
$data.=fread($fp,4096); //fread读取返回的数据,一次读取4096字节
}
//关闭连接
fclose($fp);
var_dump($data);
?>

打印出的结果如下,包含了返回的头信息及页面的源码:

6911290c31_normal.png

3、使用fopen获取网页源代码

<?php
$url = 'https://www.baidu.com/';
$opts = array(
    'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
        "Cookie: foo=bar\r\n"
    )
);
$context = stream_context_create($opts);
 
$fp = fopen($url, 'r', false, $context);
while(!feof($fp)) {
    $result.= fgets($fp, 1024);
}
fpassthru($fp);
fclose($fp); 
 
?>

4. 使用curl...

立即注册
更新于:2022-07-15 12:45:56
    您需要登录后才可以评论。 立即注册
    相关内容

    [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索

    PHP向js传数组

    php中动态输出变量内容,查看进程状态的方法

    phpmyadmin问题整理

    phpmyadmin解决Failed to set session cookie. Maybe you are using HTTP...

    phpmyadmin 登录报错 mysqli_real_connect(): (HY000/2002):

    PhpMyAdmin 配置文件现在需要一个短语密码的解决方法

    PHP与APP

    PHP是否可以应用于App开发

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    使用V2Ray的mKCP协议加速游戏