Python代理
免费
云、[高可用全球免费库](https://ip.jiangxianli.com/?page=3)、国内高匿、齐云、小幻、快、89免费、IP、小舒、西拉、seo方法、66免费
付费
阿布云、芝麻、闪臣(free 180min)、大象、全网、蘑菇、云、站大爷、蜻蜓
挺多的 付费的就不整那么多了
名字加上代理两个字 搜
有了代理网站,就有了代理IP和端口。代理有全局模式和局部模式:全局嘛,就是你这个主机所有的请求都是通过你这个代理发出;局部就是你想一些请求或者指定一个请求用配置的代理。
一、全局模式(任意一种即可)
1、系统
Windows系统:按下win键,直接敲代理,进去代理设置下IP端口
Mac等带终端的:环境变量增加两行代理配置,如下
export http_proxy="http://127.0.0.1:1234"
export https_proxy="http://127.0.0.1:1234"
http://不能省略
2、python代码引用
其实也是修改运行环境变量
import os
os.environ["http_proxy"] = "http://127.0.0.1:1231"
os.environ["https_proxy"] = "http://127.0.0.1:1231"
3、安装tsocks后,编辑/etc/tsocks.conf,以SOCKS5代理为例:
server = 代理IP
server_port = 代理端口
server_type = 5
再跑程序时,加上tsocks
tsocks python a.py
二、局部模式
1、创建代理池 这里以西刺代理为例
import re
import requests
from bs4 import BeautifulSoup
def get_proxy():
#代理网站
url='http://www.xiladaili.com/'
#代理池(列表)
proxies_li = []
herder={
'Upgrade-Insecure-Requests':'1',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.9',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
}
request=requests.get(url,headers=herder)
bs = BeautifulSoup(request.text,'lxml')
bresp = bs.find_all('td')
for b in bresp:
b = str(b)
sb = re.compile('\d{3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{4}').findall(b)
if len(sb) != 0:
# print(sb[0])
proxies_li.append(sb[0])
return proxies_li
使用代理池的代理
li = get_proxy()
proxy = random.choice(li)
proxies = {"http": "http://" + str(proxy)}
print(proxies)
print(requests.get('https://www.baidu.com', headers=herder, proxies=proxies).content)
三、实用代码块
1、user-agent
USER_AGENT_LIST = [
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",
"Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",
"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5",
"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
"Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",
"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
]
2、判断代理IP是否可用
import time
import requests
def proxy_isable(ipt):
time.sleep(1)
herder={
'Upgrade-Insecure-Requests':'1',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh-CN,zh;q=0.9',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
}
url='https://www.baidu.com'
proxies = { "http": "http://"+str(ipt) }
request=requests.get(url,headers=herder,proxies=proxies)
if request.status_code==200:
print('可用代理'+ipt)
else:
print('不可用代理'+ipt)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人