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()

  这个玩意还是挺好使的。

  

时间: 2024-10-11 23:10:39

python获取ip代理列表爬虫的相关文章

使用Python自动获取可用代理列表

今天闲来无事,随便写的一个从代理发布网站上提取可用代理列表的脚本.运行后,可以获取 http://cn-proxy.com/ 发布的可用代理ip和端口的列表. 运行效果如下: 源代码如下,请指教: # -*- coding: utf-8 -*- # Python:      2.7.8 # Platform:    Windows # Author:      wucl # Program:     从代理网站获取可用代理 # History:     2015.6.11 import urll

python开源IP代理池--IPProxys

今天博客开始继续更新,谢谢大家对我的关注和支持.这几天一直是在写一个ip代理池的开源项目.通过前几篇的博客,我们可以了解到突破反爬虫机制的一个重要举措就是代理ip.拥有庞大稳定的ip代理,在爬虫工作中将起到重要的作用,但是从成本的角度来说,一般稳定的ip池都很贵,因此我这个开源项目的意义就诞生了,爬取一些代理网站提供的免费ip(虽然70%都是不好使的,但是扛不住量大,网站多),检测有效性后存储到数据库中,同时搭建一个http服务器,提供一个api接口,供大家的爬虫程序调用. 好了,废话不多说,咱

高匿ip代理对爬虫的重要性。什么是高匿ip代理?

对于爬虫来说,在听到ip代理的时候,听得最多的莫过于透明代理.匿名代理.高匿代理这几个词了,那么分别是什么意思呢?互相之间有什么样的区别呢? 为什么说爬虫ip代理一定要使用高匿代理呢? 带着这些问题,让飞蚁代理为您来揭开匿名级别的面纱. 第一高匿名:服务器不知道你使用了代理ip和不知道你真实ip第二匿名:服务器知道你使用了代理ip但不知道你的真实ip第三透明:服务器知道你使用了代理ip而且知道你真实ip 高匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真

python使用IP代理示例及出错解决方法

一.代码示例 # -*- coding:utf-8 -*- import requests header = {     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36' } proxy_ip = {     'https': 'https://115.28.148.137:8118'

Python - 定时动态获取IP代理池,存放在文件中

定时功能通过module time + 死循环实现,因为time.sleep()会自动阻塞 get_ip_pool.py """ @__note__: while True + time.sleep实现定时更新代理池文件(ip_pool) @__how_to_use: 1. 直接另开终端运行.(但终端会阻塞) 2. 后台运行. Unix, 后台运行脚本: <script_name> & """ import requests

python获取的信息列表微信公共平台和用户头像

转载注明原文地址:http://blog.csdn.net/btyh17mxy/article/details/25207889 只写模拟登陆的方式获取微信从信息和头像库列表公共平台, - 相关后,功能将继续增加.github地址https://github.com/btyh17mxy/wxwall #!/usr/bin/env python # coding: UTF-8 import json import hashlib import re import random import jso

python 获取指定文件列表

glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可

Python获取IP的方式与意义

使用"HTTP_X_FORWARDED_FOR"获取到的IP地址,有以下几种情况. ①没有使用代理服务器: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 无数值或不显示 ②使用透明代理服务器(Transparent Proxies): REMOTE_ADDR = 最后一个代理服务器 IP HTTP_VIA = 代理服务器 IP HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器

Python 获取IP地址

Windows下2种方法:1.使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip使用gethostbyname和gethostbyname_ex两个函数可以实现import socketlocalIP = socket.gethostbyname(socket.gethostname())#这个得到本地ipprint "local ip:%s "%localIP ipList = socket.gethostbyname_ex(socket