python教程

获取免费的https代理Python代码

我的站长站 2021-08-08 人阅读

前言

大家用Python爬网页时候,爬快了被封IP,爬慢了,等的着急,这时候就需要httpsdai理来切换IP了。

分享一段获取免费的httpsdai理Python代码,可以快速获取网络上免费的httpsdai理。

Python代码

from multiprocessing.dummy import Lock
import re
import requests
import random
import time
headers={
"User-Agent":'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0'
}
#source可以替换,github上有很多
source='https://github.com/roosterkid/openproxylist/blob/main/HTTPS_RAW.txt'
def get_proxies(source_url=source):
print('Try get proxies from:',source_url)
resp=requests.get(source_url,verify=False,headers=headers)
if resp.status_code!=200:
print('Request for source page failed!')
raise Exception('Get proxies Failed!')
resp.encoding='utf8'
raws=re.findall(r'(d{1,3}.d{1,3}.d{1,3}.d{1,3}:d{1,6})',resp.text)
proxies=[]
for r in raws:
proxies.append('https://'+r)
return proxies
def get_proxies_retry(retries=5):
if retries:
try:
proxies= get_proxies()
print('Get proxies:',len(proxies))
return proxies
except Exception as e :
print('Get proxies failed!')
print(e)
print('Remain retry times: ',retries)
retries-=1
time.sleep(3)
return get_proxies_retry(retries)
else:
raise Exception("Can not get proxies with retrying!")
#包裹成一个类,方便调用
class ProxyPool():
def __init__(self,minimal=10) -> None:
self.proxies=[]
#多线程爬虫时,加个锁
self._lock=Lock()
self.minimal=minimal
def pick_proxy(self):
#选择proxy时,检查代{过}{滤}理池是否够用
self._fill_pool()
return random.choice(self.proxies)
def remove_proxy(self,proxy):
try:
self.proxies.remove(proxy)
print('Remove proxy:',proxy)
except:
print('Proxy has been removed!')
def _fill_pool(self):
#少于minimal个代{过}{滤}理时,更新代{过}{滤}理池
if len(self.proxies)<self.minimal:
#加锁,防止同时重复调用
self._lock.acquire()
if len(self.proxies)<self.minimal:
self.proxies=get_proxies_retry()
self._lock.release()
使用
复制代码 隐藏代码
proxyPool=ProxyPool()
proxy=proxyPool.pick_proxy()
requests.get('url',proxies={'https':proxy})
#如果代{过}{滤}理不可用,删除
proxyPool.remove_proxy(proxy)

问题:从GitHub获取代{过}{滤}理列表时,偶尔会失败,可能是我的网络问题。

相关推荐
  • 代理浏览器
  • Python爬取
  • Python代码
  • 灵狐浏览器2.0
    灵狐浏览器2.0

    灵狐浏览器2.0是一款国际互联网信息服务的浏览器,访问高速稳定,满足国人日常工作,娱乐,生活上的出海需要。直接流畅访问谷歌Google,推特Twitter,脸书Facebook,油管YouTube,海外贴吧Reddit,海外知乎Quora,维...

    软件分享 904 3年前
  • 最新安卓版UP-灯笼浏览器
    最新安卓版UP-灯笼浏览器

    第一次进入浏览器时,浏览器会获取你的ip地址,你就可以直接进入外网了,网速也是非常快,看视频很流畅,当然内网照样可以进入。无需任何工具,直接使用官方介绍1.匿名,民营互联网接入和没有日志- 完全匿名的...

    软件分享 1518 4年前
  • 龙卷风科学浏览器 无障碍访问全球网站
    龙卷风科学浏览器 无障碍访问全球网站

    龙卷风浏览器简介这款浏览器给我的感觉就是幸福来的像龙卷风一样,龙卷风给人的感觉是什么,快啊,除了快还是快?不仅于此。就像UC浏览器的说明,给的再多不如懂你,这是一个懂你的浏览器,它让我们的工作和生...

    软件分享 3139 4年前
  • Python爬取豆瓣电影top250排行榜

    Python爬取豆瓣电影top250排行榜示例代码,用的parsel和re两个模块,代码如下:import requestsimport csvimport reimport parselwith open("豆瓣top250.csv",mode="w",encoding="utf_8_sig",newline=&#39;&#39;) as f: csv_writer = csv.writer(f) ...

    python教程 40 1年前
  • 百度图库python批量爬取下载代码

    # @风清扬(fqy2022)import requestsimport timeimport os# 创建保存文件夹if os.path.isdir(r&#39;./保存&#39;): print(&#39;已存在文件夹!&#39;)else: os.mkdir(&#39;./保存&#39;) print(&#39;已为您创建文件夹!&#39;) class Image(object)...

    python教程 58 1年前
  • Python平台热搜热文爬取代码

    前言分享一段Python爬取各大平台热搜热文信息,支持微博热搜、抖音热搜、百度实时热点、知乎热榜、虎嗅热文、哔哩哔哩全站排行、豆瓣新片,免去一个一个网站的看了,是站长编辑的福音。提示:此代码为Python代码,需要有一点基础才能运行,如果是才能,我的站长站...

    python教程 44 2年前
  • iqiyi视频解析Python代码

    最新吾爱大佬分享的一段iqiyi视频解析Python代码,转载分享给大家参考。代码说明m3u8下载部分:pip install m3u8download-hecoter使用需要nodejs项目链接:https://github.com/hecoter/videoParse/tree/main/iqiyipython代码import requestsimport reimpo...

    python教程 102 1年前
  • python开发一个桌面僵尸宠物代码

    python开发一个桌面行走的僵尸宠物代码,可切换僵尸皮肤,效果如下:python代码截图python代码如下# *_* coding : UTF-8 *_*# author : Leemamas# 开发时间 : 2021/5/28 0:48 import sysfrom PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt...

    python教程 215 2年前
  • 获取免费的https代理Python代码

    前言大家用Python爬网页时候,爬快了被封IP,爬慢了,等的着急,这时候就需要https代理来切换IP了。分享一段获取免费的https代理Python代码,可以快速获取网络上免费的https代理。Python代码from multiprocessing.dummy import Lockimport reimport requestsi...

    python教程 90 2年前
最新更新