python获取ip代理列表爬虫

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python获取ip代理列表爬虫相关的知识,希望对你有一定的参考价值。

  最近练习写爬虫,本来爬几张mm图做测试,可是爬到几十张的时候就会返回403错误,这是被网站服务器发现了,把我给屏蔽了。

  因此需要使用代理IP。为了方便以后使用,我打算先写一个自动爬取ip代理的爬虫,正所谓,磨刀不误砍柴工,读完高中再打工!

 

  先看看运行结果:

  技术分享

 

  函数返回一个列表

 

  废话少说,放码出去:

 

  

#-*- coding: utf-8 -*-

import urllib
import urllib2
import re
import time

# obtain some ip and port for spider from a site,xicidaili.com.
class ObtainProxy:

    def __init__(self,region = 国内普通):

        self.region = {国内普通:nt/,国内高匿:nn/,国外普通:wt/,国外高匿:wn/,SOCKS:qq/}

        self.url = http://www.xicidaili.com/ + self.region[region]
        self.header = {}
        self.header[User-Agent] = Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/31.0.1650.63 Safari/537.36

    def get_prpxy(self):

        req = urllib2.Request(self.url,headers = self.header)
        resp = urllib2.urlopen(req)
        content = resp.read()

        self.get_ip = re.findall(r(\d+\.\d+\.\d+\.\d+)</td>\s*<td>(\d+)</td>,content)

        self.pro_list = []
        for each in self.get_ip:
            a_info = each[0] + : + each[1]
            self.pro_list.append(a_info)

        return self.pro_list

    def save_pro_info(self):
        with open(proxy,w) as f:
            for each in self.get_ip:
                a_info = each[0] + : + each[1] + \n
                f.writelines(a_info) 
                 

if __name__ == __main__:
    proxy = ObtainProxy()
    print proxy.get_prpxy()

 

  这个玩意还是挺好使的。

  

以上是关于python获取ip代理列表爬虫的主要内容,如果未能解决你的问题,请参考以下文章

Python获取免费的可用代理

python 爬虫 ip池怎么做

python爬虫爬取豆瓣影评返回403怎么办,代理IP和cookie都设置了

python爬虫同时输出两个列表(zip函数)

是否有已知的网络爬虫列表? [关闭]

动态ip代理:Python爬虫应用,八仙过海各显神通