import redis
import telnetlib
import urllib.request
from bs4 import BeautifulSoup r = redis.Redis(host='127.0.0.1', port=6379) for d in range(1, 3): # 采集1到2页
scrapeUrl = 'http://www.xicidaili.com/nn/%d/' % d
req = urllib.request.Request(scrapeUrl)
req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
response = urllib.request.urlopen(req)
html = response.read() bsObj = BeautifulSoup(html, "html.parser") for i in range(100):
speed = float(bsObj.select('td')[6 + i * 10].div.get('title').replace('秒', ''))
if speed < 0.2: # 验证速度,只要速度在0.2秒之内的
ip = bsObj.select('td')[1 + i * 10].get_text()
port = bsObj.select('td')[2 + i * 10].get_text()
ip_address = 'http://' + ip + ':' + port
try:
telnetlib.Telnet(ip, port=port, timeout=2) # 用telnet对ip进行验证
except:
print('fail')
else:
print('sucess:' + ip_address)
r.sadd('ippool', ip_address) # 可用的ip导入到redis
f = open('proxy_list.txt', 'a')
f.write(ip_address + '\n')
f.close()

17.获取代理ip的更多相关文章

  1. 分享一个获取代理ip的python函数

    分享一个获取代理ip的python函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #coding:utf-8 from bs4 import Beaut ...

  2. python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客

    python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客 undefined Python多线程抓取代理服务器 | Linux运维笔记 undefined java如 ...

  3. python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

    python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_usera ...

  4. Python3.x:获取代理ip以及使用

    Python3.x:获取代理ip以及使用 python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=("U ...

  5. Python学习笔记六(免费获取代理IP)

    为获取网上免费代理IP,闲的无聊,整合了一下,免费从三个代理网站获取免费代理IP,目的是在某一代理网站被限制时,仍可从可以访问的其他网站上获取代理IP.亲测可用哦!^_^  仅供大家参考,以下脚本可添 ...

  6. python爬虫实战(一)——实时获取代理ip

    在爬虫学习的过程中,维护一个自己的代理池是非常重要的. 详情看代码: 1.运行环境 python3.x,需求库:bs4,requests 2.实时抓取西刺-国内高匿代理中前3页的代理ip(可根据需求自 ...

  7. python获取代理IP

    利用requests库获取代理,用Beautiful库解析网页筛选ip # -*- coding: utf- -*- import requests from bs4 import Beautiful ...

  8. 批量获取代理ip

    获取站大爷免费代理ip,然后打印出来,也可以把他存放在其他容器中 # coding:utf-8 import requests, re requests.packages.urllib3.disabl ...

  9. 自动获取代理IP信息的例子,含代码,分享哦,

    /// <summary> /// 读取URL数据内容 /// </summary> /// <param name="url">网址</ ...

随机推荐

  1. 二进制中1的个数(Java实现)

    问题: 输入一个整数,求其二进制中1的个数 看到这个问题,我们应该想到数的位运算: 解法一:我们每次将此数&1 ,如果结果等于1,证明此数的最后一位是1,,count++: 然后在将数右移一位 ...

  2. PHP headers_sent() 函数

    定义和用法 headers_sent() 函数检查 HTTP 报头是否发送/已发送到何处. 如果报头已发送,该函数返回 TRUE,否则返回 FALSE. 语法 headers_sent(file,li ...

  3. 硬核二分——cf985D

    分两种情况进行讨论,要注意判条件时会有爆ll #include<bits/stdc++.h> using namespace std; #define ll long long ll n, ...

  4. Javascript下拉刷新

    Html相关代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. IDEA maven package失败

    选中要打包的模块,选择工具栏中的Build,选择Rebuild Module xxx,重新打包

  6. Api:目录

    ylbtech-Api:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtech.c ...

  7. 由于某些原因无法博客搬家,现在换马甲了 http://blog.csdn.net/qq_32066409

    由于位置原因无法博客搬家,现在换马甲到csdn了地址如下http://blog.csdn.net/qq_32066409

  8. HDU1285-确定比赛名次-拓扑排序板子题

    有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道 ...

  9. 2019 牛客多校第五场 B generator 1

    题目链接:https://ac.nowcoder.com/acm/contest/885/B 题目大意 略. 分析 十进制矩阵快速幂. 代码如下 #include <bits/stdc++.h& ...

  10. STM32 Keil仿真调试

    引用:http://blog.sina.com.cn/s/blog_3c63d2bd0102vt9a.html 问题描述:使用MDK进行软件设计时没有使用ST官方的模板而是手动建立的工程,使用ST官方 ...