获取免费代理IP库

#!/usr/local/bin/python3
# coding:utf-8

# ====================================================
# Author: chang - EMail:[email protected]
# Last modified: 2017-4-22
# Filename: iplibrary.py
# Description: get ip library files,base urlib, re
# blog:http://www.cnblogs.com/changbo
# ====================================================

import urllib.request
import re

def filter_tags(htmlstr):
    re_cdata = re.compile(‘//<!\[CDATA\[[^>]*//\]\]>‘, re.I)  # 匹配CDATA
    re_script = re.compile(‘<\s*script[^>]*>[^<]*<\s*/\s*script\s*>‘, re.I)  # Script
    re_style = re.compile(‘<\s*style[^>]*>[^<]*<\s*/\s*style\s*>‘, re.I)  # style
    # re_br = re.compile(‘<br\s*?/?>‘)  # 处理换行
    re_h = re.compile(‘</?\w+[^>]*>‘)  # HTML标签
    re_comment = re.compile(‘<!--[^>]*-->‘)  # HTML注释
    s = re_cdata.sub(‘‘, htmlstr)  # 去掉CDATA
    s = re_script.sub(‘‘, s)  # 去掉SCRIPT
    s = re_style.sub(‘‘, s)  # 去掉style
    # s = re_br.sub(‘\n‘, s)  # 将br转换为换行
    # s = re_h.sub(‘‘, s)  # 去掉HTML 标签
    s = re_comment.sub(‘‘, s)
    blank_line = re.compile(‘\n+‘)
    s = blank_line.sub(‘\n‘, s)
    return s

def getiplist(ipnumber):
    # url = ‘http://ip.taobao.com/service/getIpInfo.php?ip=%s‘ % ip
    url = ‘http://www.89ip.cn/api/?&tqsl=%d&sxa=&sxb=&tta=&ports=&ktip=&cf=1‘ % ipnumber
    f = urllib.request.Request(url)
    f.add_header(‘User-Agent‘, ‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0‘)
    response = ((urllib.request.urlopen(f)).read()).decode(‘gbk‘)
    ipinfo = filter_tags(response)
    # print(response)
    iplist = (((ipinfo.split(‘<br/>‘)[1])[:-46]).strip()).split(‘<BR>‘)
    for i in iplist:
        iptmp = i.split(‘:‘)
        ip = iptmp[0]
        port = iptmp[1]
        print(ip + ‘ ---- ‘ + port)
getiplist(30)

END!

时间: 2024-10-09 23:30:30

获取免费代理IP库的相关文章

常见的User-Agent及免费代理IP网站

常见的User-Agent: 1.Android Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19 Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML,

python扫描proxy并获取可用代理ip列表

mac或linux下可以work的代码如下: # coding=utf-8 import requests import re from bs4 import BeautifulSoup as bs import Queue import threading import random import re headers_useragents = [] headers_referers = [] headers_referers.append('http://www.google.com/?q=

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

这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推..........然后直接创建一个控制台应用,将我下面的代码COPY替换就可以运行,下面就来讲讲我两年前做爬虫经历,当时是给一家公司做,也是用的C#,不过当时遇到一个头痛的问题就是抓的图片有病毒,然后系统挂了几次.所以抓网站图片要注意安全,虽然我这里没涉及到图片,但是还是提醒下看文章的朋友. clas

scrapy抓取免费代理IP

1.创建项目 scrapy startproject getProxy 2.创建spider文件,抓取www.proxy360.cn www.xicidaili.com两个代理网站内容 cd项目的spiders模块下执行 scrapy genspider proxy360Spider proxy360.cn scrapy genspider xiciSpider xicidaili.com scrapy shell http://www.proxy360.cn/Region/China scra

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

环境:python3.6 主要用到模块:requests,PyQuery 代码比较简单,不做过多解释了 #!usr/bin/python # -*- coding: utf-8 -*- import requests from pyquery import PyQuery as pq class GetProxy(object): def __init__(self): # 代理ip网站 self.url = 'http://www.xicidaili.com/nn/' self.header

获取免费代理

# -*- coding=utf8 -*- import urllib2 import re import time import random import socket import threading from user_agents import agents import sys reload(sys) sys.setdefaultencoding('utf8') # 抓取代理IP ip_totle = [] for page in range(1,10): # url = 'http

PHP简单爬虫 爬取免费代理ip 一万条

目标站: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; //

爬虫实战【13】获取自己的动态代理ip池

在爬取一些比较友好的网站时,仍然有可能因为单位时间内访问次数过多,使服务器认定为机器访问,导致访问失败或者被封.如果我们使用不同的ip来访问网站的话,就可以绕过服务器的重复验证,使服务器以为使不同的人在访问,就不会被封了. 如何获取动态ip 网络上有很多提供代理ip的网站,我们经常使用的一个是西刺免费代理ip,url='http://www.xicidaili.com/' 我们来看一下这个网站的构成: [插入图片,西刺代理页面] 我们获取这个页面上的所有ip即可. 一个合理的代理ip的格式是这样

Python3.x:获取代理ip

Python3.x:获取代理ip 获取代理ip,代码: # python3 # 国内高匿代理IP网站:http://www.xicidaili.com/nn/ # 爬取首页代理IP地址 from bs4 import BeautifulSoup import requests import random # 获取首页IP列表 def get_ip_list(url, headers): web_data = requests.get(url, headers=headers) soup = Be