当前位置:首页 > PHP > 正文内容

php QueryList 采集列表数据记录

高老师4年前 (2021-12-25)PHP2247

想通过采集代理ip来做代理ip池,通过大量的Ip提高seo效果,习惯了正则处理,但是今天有时间测试下queryList,毕竟工欲善其事必先利其器。

// 保存全部的代理IP
$allProxy = [];

// 循环爬取数据
for ($i = 0; $i < 10; $i++) {

    // 页码
    $page = $i + 1;

    // 请求地址
    $url = 'https://proxy.ip3366.net/free/?action=china&page=' . $page;

    // 定义采集规则
    $rules = [
        'ip' => ['td[data-title=IP]', 'text'],
        'port' => ['td[data-title=PORT]', 'text'],
        'type' => ['td[data-title=类型]', 'text'],
    ];

    // 循环的dom主体
    $range = 'tbody tr';
    $rt = QueryList::get($url)->rules($rules)->range($range)->query()->getData();
    foreach ($rt->all() as $ip) {
        $allProxy[$ip['ip']] = $ip;
    }

    // 休息1秒
    //sleep(1);
}

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/212.html

分享给朋友:

“php QueryList 采集列表数据记录” 的相关文章

php调用 java webservice接口

php调用 java webservice接口

php调用Webservice基本语法如下:$url ='xxxxxxx.cn'  //链接服务器端 $client = new SoapClient($url);通过以上语法已经连接到webservice,也可将wsdl在本地使用,...

php解决浮点数精度问题

php解决浮点数精度问题

首先看看以下代码:代码1:<?php $a=0.1; $b=0.7; if($a+$b==0.8) { echo "1"; } else{ echo "2"; } ?>代码2:<?php   &n...

php 数组转换xml,php 数组转成xml,php数组转xml 函数

php 数组转换xml,php 数组转成xml,php数组转xml 函数

源码:特别适用于微信支付中通知微信支付网关function array2xml($arr, $level = 1) { $s = $level == 1 ? "<xml&g...

php soap 捕获异常,使用try catch 捕获Soap 异常

php soap 捕获异常,使用try catch 捕获Soap 异常

项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。初期的解决办法是捕获异常,然后continue掉。<?php try {     $url = 'http...

Thinkphp Call Stack,PHP调用栈Call Stack的获取

Thinkphp Call Stack,PHP调用栈Call Stack的获取

ThinkPHP中有一个debug调试功能,能输出报错文件的信息,并能看到这个函数被哪些函数调用,从框架的启动开始记录,特别方便调试。于是研究了下它的底层给予了实现。<?php //--框架核心--Start //框架内置错误处理 function errDealWith($er...

php下载远程文件(支持断点续传,支持超大文件)

php下载远程文件(支持断点续传,支持超大文件)

断点下载的原理:http请求头添加Range参数告诉文件服务器端需要的字节范围例如1个文本文件的字节为1000,第一次请求Range: bytes=0-500第二次请求Range: bytes=501-1000通过每次的请求将返回的流追加写入到文件。注意的项目:断点下载服务器端的每次只返回字节传输的...