想通过采集代理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);
} <?php //对比$this和self /* * $this更倾向于对象本身 * */ class Par{ public  ...
在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...
PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts { public f...
经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....
(1).管道是干嘛的?管道是用于进程之间通信的,传播或交换信息(2).管道有几种?(2.1).匿名管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。通常是指父子进程关系。(2.2).高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中...
本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask由于tp3.2.x官方开发未考虑命令行支持和绝对路径开发的标准,因此我编写了一个支持的类来运行。1.在tp3.2.3根目录下安装easytaskcomposer&...