问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用高匿名代理服务器或者IP

发布网友 发布时间:2022-04-22 08:05

我来回答

5个回答

懂视网 时间:2022-05-10 18:32

本篇文章给大家带来的内容是介绍如何用Python搭建匿名代理池?搭建匿名代理池的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

常听到很多人抱怨自己的IP因爬虫次数太多而被网站屏蔽,不得不频繁使用各种代理IP,却又因为网上的公开代理大部分都是不能使用,而又要花钱花精力去申请VIP代理,几番波折又遭屏蔽。特此写一篇如何利用Python搭建代理池的文章,以降低时间及精力成本,实现自动化获取活跃代理IP的功能。

运作原理

一、 网站代理获取

1. 爬免费代理网站的IP列表测试是否可用及是否是高匿

2. 若都是,则放进数据库,否则丢弃。

3. 重复第2步

二、 保证失效的代理能被尽快从代理池中挑出

1. 从爬虫数据库获取IP

2. 测试IP的可用性和匿名性

3. 如果可用且匿名,则保留,否则丢弃。

4. 重复第1步

说明①:可建立一个爬虫程序守护程序(Daemon),有此方面需要的小伙伴可自行谷歌,在此不多做介绍。

说明②:可建立一个对外代理信息接口,无论你用NodeJS或者Flask/Django或者PHP来写都没关系,在此也不多做介绍。

实现:

建议库: requests, BeautifulSoup, re, sqlite3。

其中,用requests库获取代理网站页面,用BeautifulSoup和re两库来进行代理信息获取,用sqlite3来对这些信息进行存取。

如果必要(如代理网站有反爬虫策略时),可用PhantomJS替代requests,或用相应库进行数据清理(如base64解码)。

下面简单展示一下各部分的代码:

首先是选择多个能爬取代理且不容易被屏蔽IP的网站,此处以proxy-list.org为例:

BASE_URL = "https://proxy-list.org/english/index.php?p="


#IP地址及端口的正则

Re_Pattern_IP = re.compile("(.*):")

Re_Pattern_PORT = re.compile(":(.*)")


#网站有11页,所以循环11次获取所有代理IP及端口

for startingURL_Param in range(1,11):

 HTML_ProxyPage = requests.get(BASE_URL+str(startingURL_Param)).content

 soup = bs(HTML_ProxyPage,"html.parser")

 for Raw_ProxyInfo in soup.find_all("ul",{"class":None}):

 #此网站有用Base64简单对代理进行了加密,所以这里对其解码

 ip_port = base64.b64decode(Raw_ProxyInfo.find("li",{"class":"proxy"}).text.replace("Proxy('","").replace("')",""))

 #接下来利用正则从网页数据中提取我们需要的信息

 IP = re.findall(Re_Pattern_IP, ip_port)[0]

 PORT = re.findall(Re_Pattern_PORT, ip_port)[0]

 TYPE = Raw_ProxyInfo.find("li",{"class":"https"}).text

接下来是一段简易代理池框架类的代码,提供代理数据库的添加、删除、可连接性检测、匿名性检测:

class ProxyPool: 

 #初始化爬虫池数据库

 def __init__(self,ProxyPoolDB):

 self.ProxyPoolDB = ProxyPoolDB

 self.conn = sqlite3.connect(self.ProxyPoolDB, isolation_level=None)

 self.cursor = self.conn.cursor()

 self.TB_ProxyPool = "TB_ProxyPool"

 self.cursor.execute("CREATE TABLE IF NOT EXISTS "+self.TB_ProxyPool+"(ip TEXT UNIQUE, port INTEGER, protocol TEXT)")

 

 #添加代理IP进代理池的接口

 def addProxy(self, IP, PORT, PROTOCOL): 

 self.cursor.execute("INSERT OR IGNORE INTO " + self.TB_ProxyPool+"(ip, port, protocol) VALUES (?,?,?)", [IP,PORT,PROTOCOL])

 

 #检查代理的匿名性及可连接性

 def testConnection(self, IP, PORT, PROTOCOL):

 proxies = { PROTOCOL: IP+":"+PORT }

 try:

  OrigionalIP = requests.get("http://icanhazip.com",timeout=REQ_TIMEOUT).content

  MaskedIP = requests.get("http://icanhazip.com", timeout=REQ_TIMEOUT,proxies=proxies).content

  if OrigionalIP != MaskedIP:

  return True

  else:

  return False

 except: 

  return False

 

 #删除代理IP对应的数据库记录

 def delRecord(self, IP):

 self.cursor.execute("DELETE FROM "+self.TB_ProxyPool+" WHERE ip=?",(IP,))

下面是对代理池进行去“失效IP”的代码:

#循环代理池,逐行测试IP地址端口协议是否可用

def cleanNonWorking(self):

 for info in self.cursor.execute("SELECT * FROM "+self.TB_ProxyPool).fetchall():

 IP = info[0]

 PORT = str(info[1])

 PROTOCOL = info[2].lower()

 

 isAnonymous = self.testConnection(IP,PORT,PROTOCOL)

 if isAnonymous == False:

  #这条代理的可用性失效了,从数据库里删除

  self.delRecord(IP)

 

#通过检测icanhazip.com回显来检测可用性及匿名性

def testConnection(self, IP, PORT, PROTOCOL):

 proxies = { PROTOCOL: IP+":"+PORT }

 try:

  OrigionalIP = requests.get("http://icanhazip.com",timeout=REQ_TIMEOUT).content

  MaskedIP = requests.get("http://icanhazip.com", timeout=REQ_TIMEOUT,proxies=proxies).content

  if OrigionalIP != MaskedIP:

  return True

  else:

  return False

 except: 

  return False

反思

这个项目是我当年用Python练手写的,以现在的程度再来回顾,逻辑不够严谨,各类功能太过耦合,不少段落需要重写,因为代码是在校园网内所跑,所以还需要考虑到网络连接的稳定性,这就造成部分代码之间的混乱关系。

通过icanhazip.com来检测代理匿名性的方法或许有效,但却忽略了X-Forwarded-For的HTTP头,所以有很大风险,必须改进。

验证代理池内代理的有效性,需要多线程,目前的方案效率太低。

完整代码

放在此文章中的是代理池的核心代码,旨在提供各位读者能够自己实现的思路及参考,Ubuntu 16.04及Kali下用Python 2.7测试可运行。

热心网友 时间:2022-05-10 15:40

1、使用Hide IP Platinum
Hide IP Platinum可以自动从网上搜索代理服务器,然后提供给代理IP上网。运行Hide
IP Platinum,在任务栏右下方会出现一个图标,每次点击该图标,软件就会提供给你一个代理IP,打开IE就会自动用该代理浏览网页了!
目前与Hide IP Platinum类似的代理软件有很多,功能和用法基本上大同小异,这类软件虽然用起来很方便,但是都有一个致命的缺点,就是它们提供的代理IP大多不是一级匿名,因此用这种代理上网,网管完全能够查出真实IP!
2、用花刺代理
1、用花刺代理验证读取公布代理服务器地址的网页,将得到的代理导出为TXT文件例如AJ.txt);然后在代理超人中导入AJ.txt,验证代理的等级,把得到的超级匿名、普通匿名导出为TXT文件(例如JG.txt);
2、再运行花刺代理验证,导入JG.txt,选择一个代理,点击“设为IE代理”,软件就会自动把该代理设置到IE中,这样就能通过该代理、在IE中浏览网页了,WEB服务器的网管是查不出IP的

【真正隐藏自己IP的秘技】
1、获得一级匿名代理
只有用一级匿名代理上网才能真正隐藏IP,因为这样别人才不知道IP、而且也不知道你用了代理;如果用其他等级代理,虽然也能隐藏IP,但是别人却知道用了代理的!
建议先运行“网隐一键通”获得一级匿名代理,在“选项设置”中点击“寻得代理”,然后点击“代开URL”,读取公布代理服务器地址的网页,验证得到一级匿名代理(具体方法参见上文所述)。
2、用一级匿名代理上网
对于“网隐一键通”注册用户,可以点击选择某个一级匿名代理,然后右击鼠标,在弹出菜单中选择“现在就使用该代理…”,即可用一级匿名代理上网了;不过只有注册用户才能这样做。
对于非注册用户,只能使用“网隐一键通”验证得到一级匿名代理,然后在IE中自己设置这个一级匿名代理(操作步骤参见上文),最后再用IE打开网页,就能真正隐藏自己IP地址、而且别人也不知道用了代理

热心网友 时间:2022-05-10 16:58

对于网络爬虫来讲,高匿免费HTTP代理IP算得上是必要资源之一,因为在实际采集过程中,网络爬虫IP被封是一个很普遍的问题。原理很简单,因为爬虫抓取速度太快。对于HTTP代理IP的选择,大多数的爬虫从业者会选择自己动手做个程序,定时从网络各种免费代理IP网站中抓取免费代理IP,虽然成本低,但是这种IP通常具有两个致命性缺点,一是可用代理IP数量没法保证;二是IP质量普遍不稳定。

假如想要使用更多更稳定的网页代理服务器,还是要踏踏实实找个大型的服务商,拥有庞大的代理IP池,IP数量有保障;IP有专人实时维护,稳定性安全性更佳。

传统的网络爬虫技术局限于对静态页面的抓取,模式相对单一。近几年随着网络技术不断发展,动态页面由于具有强大的交互能力,已成为网络信息传播的主流。Python语言在最近几年在网络爬虫界兴起,不得不归功于它足够简洁的语法和足够多的库的支持,使开发效率变高。

直白的说,用Python可以1个人做5个人的事情,只是多用10倍的机器,这是非常划算的事。在使用Python爬虫时,再配合一款好用的高匿HTTP代理IP,简直如虎添翼。

分布式爬虫是在计算机集群之上运转的爬虫系统。集群每一个节点上运行的爬虫程序与集中式爬虫系统工作原理相同,随着计算机集群使用数量增加,分布式爬虫优势也逐渐体现,对比单机爬虫,工作效率翻倍增长。

分布式爬虫在高速完成spider任务时,也会因过量过频的访问次数,更容易触发网站反爬机制,这时候单一IP地址早已无法满足分布式爬虫的抓取需要,使用大量代理IP成为必然趋势。拥有海量优质代理ip资源,特有分布式系统架构,从容应对分布式爬虫爆发增长,成为分布式爬虫的刚需资源,通过接入平台直接多线程操作,省去了多余的人力和时间。

随着大数据时代的来临,大数据也吸引了越来越多的关注。网络爬虫是一种高效的信息抓取工具,它集成了搜索引擎技术,并通过大数据技术手段进行优化。

分布式爬虫,从字面意思可以理解为集群爬虫,如果有spider任务,可以用多台机器同时运行。简单的说,分布式爬虫需要协调不同计算机之间的任务分工、资源分配、信息整合,而在此期间,使用大量代理ip资源将必不可少。

热心网友 时间:2022-05-10 18:33

其实在论坛一些网站上发过帖子的人都知道,有时候我们的频繁操作可能会被网站的监控系统*,提示被*发帖,其实原因是我们的IP被*了,这时使用代理Ip,替换一个IP就可以继续发帖了。
但是使用免费的IP,别人也在使用,容易受牵连,导致IP被封,账户被封。
如果要长期使用,建议还是使用付费的代理IP,可以更换全国IP,海量IP,可用率高达99%。
就像芝麻代理IP一样,它是一个高度匿名的代理,可以充当中间人,为你获取信息,并且不会被对方发现,更好地保护使用者的隐私。

热心网友 时间:2022-05-10 20:24

ip软件 切换 ip地址
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
《孙子兵法》中哪一手段为上兵 《孙子兵法》中的上兵 10 孙子兵法上兵伐谋是什么意思 描写灶糖的古诗 关于腊八节的诗句古诗(腊八节的诗情画意) 为了事业和生活离家越来越远,古诗词怎么写 平铺机的正确使用方法 用平铺机铺瓷砖会平整吗 平铺机铺贴瓷砖的专用工具 平铺机几个档位最好 地砖平铺机功率多少 急问!35kV高压输电线与住宅楼距离多少才不受电磁... 中山市哪里有室内篮球场? 10085套餐可靠吗? 中山有没有篮球训练营? 3.5KV高压线辐射范围多大 中山哪里有公共篮球场 35kv变电所辐射有多大? 停车场的车位应该怎么选? 35千伏高压线对人会产生危害吗 中山公园篮球场怎么样 停车为什么要把车头朝外? ERP系统的核心是什么? 35kv变电站的辐射大吗对人体有什么危害 中山张家边哪里有免费篮球场? 仓库职责怎么写 你们知道吗?真正的老司机在停车的时候,是要选位... 什么是erp管理系统 中山哪里有打篮球的好去处? 在线等。不是本地的,... 35kv高压线离房子5米水平距离安全吗,辐射大吗 仓库管理员要做些什么 中山打篮球人多的地方? 10085号码所办理的免费套餐可否退订? 为什么停车不能用P档?老司机:这些情况用了小心车... 什么是新国标的篮球架 高匿名ip代理有什么优越性? 本人打篮球很厉害,想进广东中山的市篮球队,应该... 铃木北斗星的专属停车位,看来车主是一位技术过硬... 离我家直线一百五十米左右建立了一座35KV双回路电... 扯旋儿 分钱 10085给我打过电话,推荐了一个资费套餐,当时没有办... 广东中山市打篮球的请进 代理IP里的“透明”“匿名”“高匿”分别是指? 停车时先踩离合还是踩刹车? 35千伏变电站辐射距离是多少?噪音大吗? 怎样退订10085的4G套餐? 代理IP的高匿名,匿名和透明的区别 请问一下这个模特是谁?什么名字 35KV变电站和10KV高压线的辐射距离? 中山市的篮球队 韩国有哪些明星做了明显的整容?