目标站:http://www.xicidaili.com/

代码:

<?php
require 'lib/phpQuery.php';
require 'lib/QueryList.php';
require "db/shared/ez_sql_core.php";
require "db/mysql/ez_sql_mysql.php";
require "public/function.php";
use QL\QueryList; //抓取猫眼电影TOP100榜单内容
$db = new ezSQL_mysql('root', 'root', 'spider', 'localhost'); for($j=;$j<=;$j++){
$gurl="http://www.xicidaili.com/nn/".$j;
$html=curl_request($gurl);
for($i=;$i<=;$i++){
getIpInfo($html,$i,$db);
}
echo "第".$j."页完成".PHP_EOL;
} function getIpInfo($html,$t,$db){
$rules = array(
//采集id为one这个元素里面的纯文本内容
'ip' => array("#ip_list tr:eq($t) td:eq(1)",'text'),//ip
'port' => array("#ip_list tr:eq($t) td:eq(2)",'text'),//端口
'area' => array("#ip_list tr:eq($t) td:eq(3)",'text'),//位置
'anonymous' => array("#ip_list tr:eq($t) td:eq(4)",'text'),//是否匿名
'type' => array("#ip_list tr:eq($t) td:eq(5)",'text'),//类型
'speed' => array("#ip_list tr:eq($t) td:eq(6)",'html','',function($content){
$num=explode('%', explode(':', $content)[])[];
if($num >= && $num<){
return "一般";
}else if($num >= ){
return "很快";
}else{
return "较慢";
}
}),//速度
'chtime' => array("#ip_list tr:eq($t) td:eq(8)",'text'),//存活时间.
'yztime' => array("#ip_list tr:eq($t) td:eq(9)",'text'),//验证时间 );
$data = QueryList::Query($html,$rules)->data;
print_r($data); $ip=$data[]["ip"];
$port=$data[]["port"];
$area=$data[]["area"];
$anonymous=$data[]["anonymous"];
$type=$data[]["type"];
$speed=$data[]["speed"];
$chtime=$data[]["chtime"];
$yztime=$data[]["yztime"]; $db->query("INSERT INTO ip (ip, port,area,anonymous,type,speed,chtime,yztime)
VALUES ('$ip','$port','$area','$anonymous','$type','$speed','$chtime','$yztime')");
}

结果:

完整项目下载:https://files.cnblogs.com/files/wordblog/spider2.rar

PHP简单爬虫 爬取免费代理ip 一万条的更多相关文章

  1. 简单爬虫-爬取免费代理ip

    环境:python3.6 主要用到模块:requests,PyQuery 代码比较简单,不做过多解释了 #!usr/bin/python # -*- coding: utf-8 -*- import ...

  2. golang爬取免费代理IP

    golang爬取免费的代理IP,并验证代理IP是否可用 这里选择爬取西刺的免费代理Ip,并且只爬取了一页,爬取的时候不设置useAgent西刺不会给你数据,西刺也做反爬虫处理了,所以小心你的IP被封掉 ...

  3. 极简代理IP爬取代码——Python爬取免费代理IP

    这两日又捡起了许久不碰的爬虫知识,原因是亲友在朋友圈拉人投票,点进去一看发现不用登陆或注册,觉得并不复杂,就一时技痒搞一搞,看看自己的知识都忘到啥样了. 分析一看,其实就是个post请求,需要的信息都 ...

  4. C#多线程爬虫抓取免费代理IP

    这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推.. ...

  5. vb.net 多线程爬虫抓取免费代理IP

    Class Program Public Shared masterPorxyList As List(Of proxy) = New List(Of proxy)() Public Class pr ...

  6. python爬取免费优质IP归属地查询接口

    python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个免费接口然后来个python脚本跑一晚上就o ...

  7. 第二篇 - python爬取免费代理

    代理的作用参考https://wenda.so.com/q/1361531401066511?src=140 免费代理很多,但也有很多不可用,所以我们可以用程序对其进行筛选.以能否访问百度为例. 1. ...

  8. Python 爬虫练习(一) 爬取国内代理ip

    简单的正则表达式练习,爬取代理 ip. 仅爬取前三页,用正则匹配过滤出 ip 地址和 端口,分别作为key.value 存入 validip 字典. 如果要确定代理 ip 是否真的可用,还需要再对代理 ...

  9. python简单爬虫爬取百度百科python词条网页

    目标分析:目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL:/ ...

随机推荐

  1. 一道面试题:StringBuffer a=new StringBuffer ("A"); StringBuffer b=new StringBuffer

    前几天又看到这个面试题,再次看看 public class Jtest{ public static void main(String[] args) { StringBuffer a=new Str ...

  2. ACdream1093

    给你三种正多面体,正四面体,正六面体,正八面体.求从某一种正多面体中的某一点走到另一个点,且步数不超过k(1018)的方案数. 首先说明一下我交题的时候遇到的问题,起点和终点为同一点的时候,算不算走了 ...

  3. iOS 数据库sqlite完整增删改查操作

    1: 创建数据库表格 1.1 — 表格创建使用一个数据库软件快速创建:软件大小14.3M; 下载地址:http://pan.baidu.com/s/1qWOgGoc; 表格创建-> 打开软件,点 ...

  4. eclipse中添加配置文件夹config

    1. 在项目上右键->Build path->Configure Build Path->Source下的Add Folder,如图 2. 在弹出框中,Create New Fold ...

  5. C 函数——Day04

    C 函数 函数是一组一起执行一个任务的语句.每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 您可以把代码划分到不同的函数中.如何划分代码到不同的函数 ...

  6. 基本数据结构 —— 二叉搜索树(C++实现)

    目录 什么是二叉搜索树 二叉搜索树如何储存数值 二叉搜索树的操作 插入一个数值 查询是否包含某个数值 删除某个数值 测试代码 参考资料 什么是二叉搜索树 二叉搜索树(英语:Binary Search ...

  7. 【Learning】辛普森积分

    辛普森积分 这种积分法很暴力:只要求你实现出函数求值\(f(x)\). 使用辛普森积分,我们可以求出函数一段区间\([l,r]\)的近似积分.记\(mid=\frac{l+r}2\),有: \[ \i ...

  8. 【uoj129】 NOI2015—寿司晚宴

    http://uoj.ac/problem/129 (题目链接) 题意 给出2~n这n-1个数,求选2个集合,使得从两集合中任意各选取1个数出来它们都互质.求方案数. Solution PoPoQQQ ...

  9. Linux内核分析第八周——进程的切换和系统的一般执行过程

    Linux内核分析第八周--进程的切换和系统的一般执行过程 李雪琦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/cou ...

  10. MySQL 性能比较测试:MySQL 5.6 GA -vs- MySQL 5.5

    时间:2013年11月07日 ⁄ 分类: 数据库技术文档 ⁄   我要吐槽发评论 MySQL 5.6 GA 发布了,毫无疑问,这是 MySQL 最棒的一个版本. 如果你还不清楚 MySQL 5.6 版 ...