为何要设置User Agent?
作为爬虫我们都知道,很多网站是做了反爬策略的,特别是爬虫程序这样的非人点击访问,网站更不会让你继续访问,这时我们的应对策略就是需要隐藏自己的爬虫程序的身份。我们就可以通过设置User Agent的来达到隐藏身份的目的,User Agent的中文名为用户代理,简称UA。
User Agent存放于Headers中,服务器就是通过查看Headers中的User Agent来判断是谁在访问。在Python中,如果不设置User Agent,程序将使用默认的参数,那么这个User Agent就会有Python的字样,如果服务器检查User Agent,那么没有设置User Agent的Python程序将无法正常访问网站。Python允许我们修改这个User Agent来模拟浏览器访问,所以他的重要性可想而知,常见的ua有pc端,Android和ios.
虽然有了ua但是也不能直接就去访问目标网站,还是需要有代理的辅助,因为一个固定IP的访问目标网站的频率很高,这不符合人为操作的标准,所以一些网站会设置一个IP访问频率的阈值,如果一个IP访问频率超过这个阈值,就会被限制。代理的选择有很多,这里就以我经常使用的亿牛云为例。
1、Python¶ requests #! -*- encoding:utf-8 -*- import requests import random # 要访问的目标页面 targetUrl = http://httpbin.org/ip # 要访问的目标HTTPS页面 # targetUrl = https://httpbin.org/ip # 代理服务器 proxyHost = t.16yun.cn proxyPort = 31111 # 代理隧道验证信息 proxyUser = username proxyPass = password proxyMeta = http://%(user)s:%(pass)s@%(host)s:%(port)s % { host : proxyHost, port : proxyPort, user : proxyUser, pass : proxyPass, } # 设置 http和https访问都是用HTTP代理 proxies = { http : proxyMeta, https : proxyMeta, } # 设置IP切换头 tunnel = random.randint(1,10000) headers = {Proxy-Tunnel: str(tunnel)} resp = requests.get(targetUrl, proxies=proxies, headers=headers) print resp.status_code print resp.text
以上是python的代理添加示例,当然其他的爬虫程序语言也是可以使用代理的,有其他语言需求的伙伴可以去了解下,https://www.16yun.cn/help/ss_demo/。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端