PHP在Windows下结合bat批处理实现验证代理ip服务器功能
由于业务,需要使用到代理服务器,网上有很多提供代理服务器信息的站点,所以可以从这些站点获取信息。不过获取到的IP由于网络或其他原因,某些是不可访问,就需要做验证筛选,得到能使用的代理服务器。
一、通过PHP的CURL抓取并验证代理
使用CURL抓取
思路
1. CURL抓取网站内容;
2. simple_html_dom (点击下载) 解析抓取的内容,解析出关键信息,并保存文件(或缓存);
3. 对关键信息 (代理服务器的IP和端口),进行CURL验证;
4. 验证分为HTTPS 和HTTP方式,要注意区分。
二、通过bat进行多进程处理
思路
1. 单个cmd窗口可以运行一个php.exe进程,多个可运行多个进程;
2. 修改php程序,支持cli模式的传参,通过参数不同,抓取的网站链接不同;
3. 通过start 命令(查看说明)运行多个cmd,用 & 连接,做成 main.bat 文件;
4. 在 main.bat 文件中监听 其他cmd窗口的运行状况,可以通过 设置 cmd的title在tasklist中获取;
5. 当其他cmd窗口(php任务)运行完成之后,合并结果集。
三、将多进程处理的结果合并
将从第一步保存的文件取出,然后通过PHP代码合并其结果,输出到 result_xxx.json 中即可;
代码暂不贴出了,等后面更新。