Redian新闻
>
写python爬虫,你永远绕不过去代理问题

写python爬虫,你永远绕不过去代理问题

公众号新闻

如果你想要从事 Python 爬虫相关岗位,那你一定会接触到代理问题,随之而来的就是下面 5 大代理知识点。

  • 什么是代理:代理是网络中间人(中间商赚插件),它代表用户发送网络请求,隐藏用户的真实身份。

  • 代理类型:常见的代理类型有匿名代理、普通代理、高匿代理、混淆代理、HTTP 代理、Socks 代理等。

  • 爬虫与代理的关系:爬虫经常需要使用代理,以避免被网站封禁或者限制,代理可以让爬虫以代理的身份发送请求,从而隐藏爬虫的真实身份

  • 代理的使用:在 Python 中使用代理可以通过修改请求头中的代理地址来实现,也可以使用第三方库如requests-proxy 来管理代理。

  • 代理池:代理池是一个存储代理的数据结构,它可以方便地管理多个代理,但本篇博客不详细展开讲,==未来在爬虫训练场项目中将会构建一个代理池==。

什么是代理

代理是一种中间人(赚差价的中间商)的角色 🧔,它帮助用户发送网络请求 💻,同时隐藏用户的真实身份 🕵️‍♂️。

通俗的解释,就是你想去买某件见不得人的物品,自己不好意,然后请一个代理帮你完成这件事情。
代理人替你发送请求,并将物品送到你制定的地址,卖家只知道有代理人,不知道你是谁。

代理在网络中也是这样的工作方式,它代表用户发送请求,隐藏用户的真实身份。

代理类型

  • 匿名代理:装扮成别人,匿名代理隐藏了用户的真实身份,但是它并不是高度机密的。

  • 普通代理:一个普通的代理人,代表用户发送请求,但是不隐藏用户的真实身份。

  • 高匿代理:像警察装扮成卧底一样,高匿代理高度隐藏了用户的真实身份。

  • 混淆代理:间谍,混淆代理会混淆请求来源,使得很难追踪到真正的用户。

  • HTTP 代理:它是一种特殊类型的代理,专门处理 HTTP 请求。

  • Socks 代理:它也是一种特殊类型的代理,专门处理网络数据流。

上述这几种代理类型,使用难度最大的是 👉 高匿代理 👈。因为高匿代理在隐藏用户身份的同时,还要提供较高的网络安全性。

爬虫与代理的关系

这里橡皮擦尽量用通俗一点的文字进行描述。

当你使用爬虫爬取一个网站时,你相当于是一个游客,游览网站的内容,而网站服务器就是门卫大爷,负责检查每一个访问者是否合法。

如果网站服务器发现某个访问者正在大量地爬取网站内容,就可能会封锁它的 IP 地址,进而导致爬虫无法访问网站,从而导致爬取数据失败。

这时,就需要使用代理。代理就相当于是一个“中间人”🕵️‍♀️,当爬虫通过代理访问网站时,网站服务器就只能看到代理的 IP 地址,而无法看到真实的爬虫 IP 地址。

如果网站服务器封锁了代理的 IP 地址,那么你只需要更换代理,即可继续访问网站。

因此,使用代理可以有效地避免 IP 地址被封锁的情况,从而提高爬虫的爬取效率。

代理的使用,Python 语言

Python 的 requests 库可以方便地使用代理进行网络请求。例如我们使用 爬虫训练场 来进行测试。

import requests

# ip 是代理IP,port 是端口号
proxies = {
'http': 'http://IP:PORT',
'https': 'http://IP:PORT',
}

response = requests.get('http://pachong.vip', proxies=proxies)

print(response.text)

在上述代码中,咱使用了 http 代理和 https 代理。
proxies 字典中的键为代理类型,值为代理的 URL。
将 proxies 参数传递给 requests.get() 函数,这样就可以使用代理进行网络请求了。

代理池

代理池很容易理解,代理存放的池子,当我们使用代理时,可以从代理池中取出一个代理,在网络请求中使用。

在爬虫应用中,使用代理池可以避免频繁地从互联网上搜索代理,提高代理的使用效率。

在实战中,如果我们需要自己搭建代理池,一般情况下需要维护一个定期更新代理的程序,以确保代理的可用性。

链接:https://bbs.huaweicloud.com/blogs/399991

(版权归原作者所有,侵删)


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
五一抢票难,Python抢票脚本,火了!深度好文|Python变身表白利器!又被恋爱脑的理工男秀到了!GPT-4绝对性能暴涨74.4%!UIUC苹果华人团队提出CodeAct,用Python代码统一LLM智能体行动2024 年 3 月编程语言排行榜,Python 与其他语言之间的差距从未如此之大!超级好用的Python模块——glob模块清华官方出品Python漫画教学书!零基础留学生3天速成在AI横行的世界里, 小孩儿如何选择专业用Python写个自动批改作业系统!阿里1号AI「员工」上岗,007写代码助攻大厂程序员!炸掉祖传屎山代码,Java丝滑改PythonPython装饰器应用示例熬夜爆肝,用Python赚了4w!自学12h!人在英国,我线上白嫖到了密歇根全套Python课程!Pylon框架:在PyTorch中实现带约束的损失函数刷个B站的功夫就把Python入门了,哈佛的线上课程,太强了!imageio,一个Python处理图片的工具包如何使用python发送日志易告警七绝 合肥教弩台鸿发超市「2000 万美元」买下82街前Walmart超市!开设第4家Hông Phát分店!跨语言编程:在C#应用程序中调用Python谷歌突破2万亿美元里程碑,却被曝裁掉整个Python团队?PyTorch之父怒批离谱喜欢花满楼Python实现Excel拆分与合并谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”突发!谷歌Python团队解散,PyTorch之父震惊AI编程语言Mojo正式开源标准库,宣称比Python快9万倍躺平一个 Python 的轻量级搜索工具给你一张知识图谱,Python 就这么学 | 极客时间10个python爬虫入门实例异国他乡白喜事刷个B站的功夫就能把Python学了,哈佛这门线上课程,太强了!突发!谷歌 Python 团队全体被裁,急得 PyTorch 之父爆粗比 Python 快 9 万倍的 Mojo 终于开源了!刚上线 star 已超过 1.7 万谷歌Python团队全员被裁——负责内部Python所有基础设施、曾对数亿行代码执行自动重构悲愤!初中男孩遭3名同学杀害,「霸凌」是所有爸妈都绕不过去的坎儿...
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。