WEB - 定时获取代理池(简单方法)

import requests
import time
from read_ip_pool import read_ip_pool

PROXIES_URL = ‘‘

def get_ip_pool(url=PROXIES_URL):
    """ 根据URL构造代理池

    :param PROXIES_URL:
    :return: []
    """
    response = requests.get(url)
    with open(‘IP_POOL‘, ‘w‘) as f:
        f.write(response.text)
    print(‘get_ip_pool is done‘)

# Unix, 后台运行脚本: <script_name> &
while True:
    get_ip_pool()
    read_ip_pool()
    # time+死循环, 实现定时功能。
    time.sleep(10)
    print("")

原文地址:https://www.cnblogs.com/allen2333/p/9743525.html

时间: 2024-11-13 06:38:17

WEB - 定时获取代理池(简单方法)的相关文章

获取UDID的简单方法 和 P12证书无法导出问题

有关苹果无法导出p12证书的问题解决 导出 .P12文件的目的 开发人员比较多的情况下,都去配置证书,对iOS开发团队来说不好管理:而且证书配置也是有限的.所以最好只配置一个. 如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加. 导出 .P12文件 本机必须已经有一个带秘钥的证书才可以生成.p12文件,不带密钥的生成不了.p12文件. 查

HttpClient读取ASP.NET Web API错误信息的简单方法

在C#中,用HttpClient调用Web API并且通过Content.ReadAsStringAsync()读取响应内容时,如果出现500错误(InternalServerError),会得到一个包含错误信息的json字符串: { "Message":"An error has occurred.", "ExceptionMessage":"", "ExceptionType":""

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 asyncio异步代理池

使用python asyncio实现了一个异步代理池,根据规则爬取代理网站上的免费代理,在验证其有效后存入redis中,定期扩展代理的数量并检验池中代理的有效性,移除失效的代理.同时用aiohttp实现了一个server,其他的程序可以通过访问相应的url来从代理池中获取代理. 源码 Github 环境 Python 3.5+ Redis PhantomJS(可选) Supervisord(可选) 因为代码中大量使用了asyncio的async和await语法,它们是在Python3.5中才提供

【Python3爬虫】教你怎么利用免费代理搭建代理池

一.写在前面 有时候你的爬虫刚开始的时候可以正常运行,能够正常的爬取数据,但是过了一会,却出现了一个"403 Forbidden",或者是"您的IP访问频率太高"这样的提示,这就意味着你的IP被ban了,好一点的情况是过一段时间你就能继续爬取了,坏一点的情况就是你的IP已经进入别人的黑名单了,然后你的爬虫就GG了.怎么办呢?我们可以通过设置代理来解决,付费代理的效果自然不必多说,但是对于学习阶段的人来说,我觉得爬取网上的免费代理来用是一个更好的选择,而这一篇博客就将

python爬虫-代理池的维护

简介 我们可以从网上或者付费获取大量代理,但是这其中很多依然不可用,那么搭建高效的代理池,对代理ip进行筛选是十分必要的 准备工作: 安装Redis数据库,还需要安装aiohttp.requests.redis-py.pyquery.Flask库,安装流程请百度自行查询 由于文件内容较多,所以就不一一讲解了,直接创建一个Python Package模块包,下次直接调用 创建一个Python Package包,取名为proxypool 一.创建一个setting.py文件,用于存放配置信息.代码如

爬虫技术:代理池的维护

一:代理池维护的模块 1. 抓取模块Crawl,负责从代理网站上抓取代理 ---------------抓取模块 2. 获取代理Getter,负责获取抓取模块返回的值,并判断是否超过存储模块的最大容量.---------------获取模块 3.存储模块Redis,负责将抓取的每一条代理存放至有序集合中.---------------存储模块 4.测试模块Tester,负责异步测试每个代理是否可用.---------------测试模块 5.调度模块Schedule,负责测试,获取,和对外api

python代理池的构建3——爬取代理ip

上篇博客地址:python代理池的构建2——代理ip是否可用的处理和检查 一.基础爬虫模块(Base_spider.py) #-*-coding:utf-8-*- ''' 目标: 实现可以指定不同URL列表,分组的XPATH和详情的XPATH,从不同页面上提取代理的IP,端口号和区域的通用爬虫; 步骤: 1.在base_ spider.py文件中,定义 一个BaseSpider类, 继承object 2.提供三个类成员变量: urls:代理IP网址的URL的列表 group_ xpath:分组X

WEB程序获取客户端IP的做法及其安全隐患

WEB程序获取客户端IP的方法有两种,一种是直接获取访问来源的IP,另一种是通过HTTP头中带的IP信息来获取. 前者获取的IP是直接接触的IP,既获取的永远都是最后一环的IP,如果用户使用了代理,就获取不到用户真实IP了. 后者获取的IP是“代理服务器”在HTTP头加上的信息,帮助识别或者标记IP路径,或者客户端的原始IP,但是HTTP头的信息是可控的,也就是说可伪造. 以PHP为例,PHP可以通过$_SERVER和getenv获取常量IP如下: $_SERVER['REMOTE_ADDR']