如何模拟不同的浏览器行为?Go 的 fake-useragent 了解一下
有的网站会根据 User-Agent 的不同,跳转到不同(PC、M)的站点,也有根据版本的不同给出不一样的提示等等,而 User-Agent 的变化更是爬虫里的基础姿势
使用 Go 编写网络爬虫或需要模拟浏览器头(User-Agent)的时候,你是否会觉得很麻烦,获取请求头(Request Headers)的 User-Agent 还得找来找去,挺繁琐。先前我也遇到了这个问题,因此有了这个项目 fake-useragent,用来解决你我的痛点
项目地址:https://github.com/EDDYCJY/fake-useragent
支持
- All User-Agent Random
- Chrome
- InternetExplorer (IE)
- Firefox
- Safari
- Android
- MacOSX
- IOS
- Linux
- IPhone
- IPad
- Computer
- Mobile
安装
$ go get github.com/EDDYCJY/fake-useragent
用法
定制
你可以调整抓取数据源的最大页数、时间间隔以及最大超时时间。 如果不填写,则为默认值。
client := browser.Client{ MaxPage: 3, Delay: 200 * time.Millisecond, Timeout: 10 * time.Second, } cache := browser.Cache{} b := browser.NewBrowser(client, cache) random := b.Random()
更新浏览器头的临时文件缓存
client := browser.Client{} cache := browser.Cache{ UpdateFile: true, } b := browser.NewBrowser(client, cache)
最后,建议常规用法就好,默认参数能够满足日常需求
输出
Random: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 IE: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Firefox: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 Safari: Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_5 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D60 Safari/604.1 Android: Mozilla/5.0 (Linux; Android 6.0; MYA-L22 Build/HUAWEIMYA-L22) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 MacOSX: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 IOS: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B72 Safari/602.1 Linux: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0 IPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C92 Safari/602.1 IPad: Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3 Computer: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0 Mobile: Mozilla/5.0 (Linux; Android 7.0; Redmi Note 4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36
注意
如果第一次使用,fake-useragent 将收集数据并在临时目录中创建一个文件作为文件缓存,请耐心等待几秒钟
最后
如果在项目中发现了什么问题,欢迎提交 PR 或者 issue。希望你能够喜欢这个项目,根本目的还是为了解决痛点,欢迎 Star!
项目地址:https://github.com/EDDYCJY/fake-useragent
原文链接:https://book.eddycjy.com/golang/talk/go-fake-useragent.html
本文作者:煎鱼,原创授权发布
突破网络限制:五款媲美Shadowrocket的代理工具深度评测与选择指南
在数字时代,网络自由与隐私保护已成为现代网民的基本诉求。无论是为了突破地域限制获取信息,还是保护敏感数据免受窥探,一款优秀的代理工具都显得尤为重要。在iOS平台上,Shadowrocket长期占据着代理工具领域的王者地位,但其单一的平台支持和高昂的价格也让不少用户开始寻找替代方案。本文将为您全面剖析五款能与Shadowrocket比肩的代理工具,从功能特色到适用场景,助您找到最适合自己的网络自由之钥。
一、Shadowrocket:iOS代理工具的标杆
作为本次评测的参照系,Shadowrocket确实树立了行业高标准。这款专为iOS设计的代理工具集VPN服务与HTTP/SOCKS5代理于一身,其精妙之处在于将复杂的技术细节转化为直观的用户体验。
核心优势体现在三个方面:首先是其智能路由系统,能够自动分析网络状况并选择最优路径;其次是丰富的协议支持,从基础的HTTP到更安全的SOCKS5一应俱全;最令人称道的是其规则自定义功能,用户可以根据需要精细控制每一条流量的走向。
然而,局限性同样明显:148元的一次性买断价格对普通用户不够友好;仅支持iOS平台让安卓用户望而兴叹;高级功能的学习曲线也较为陡峭。正是这些短板,催生了一批优秀的替代品。
二、五大替代工具全景对比
1. Clash:开源跨平台的全能选手
作为开源界的明星产品,Clash的最大魅力在于其无限可能性。与Shadowrocket的封闭生态不同,Clash的整个架构都是透明的,技术爱好者可以深入代码层进行定制。
技术亮点:
- 基于YAML的配置文件系统,灵活性远超GUI界面
- 支持V2Ray、Trojan等新兴协议,走在技术前沿
- 丰富的插件生态,从广告拦截到流量统计应有尽有
适用场景:适合喜欢折腾的技术极客,或需要同时在Windows、macOS、Android多平台保持配置一致的用户。
2. Surge:企业级网络解决方案
如果说Shadowrocket是精悍的瑞士军刀,那么Surge就是专业的工具箱。这款定价高达49.99美元的工具,瞄准的是对网络有专业级需求的用户群体。
独到之处:
- 首创的MitM(中间人)调试功能,可解密HTTPS流量进行分析
- 完整的网络诊断工具集,包括DNS查询、延迟测试等
- 企业级规则托管服务,保持策略实时更新
典型用户:网络工程师、安全研究人员,或需要精细管理公司网络的中小企业主。
3. Quantumult X:优雅的效率大师
在用户体验与功能深度的平衡上,Quantumult X做到了近乎完美。它的设计哲学是"少即是多",将复杂功能隐藏在简约的界面之下。
创新设计:
- 独创的任务系统,可定时切换代理策略
- 流量染色技术,直观显示各类应用的网络消耗
- 智能策略组,根据延迟自动选择最优节点
最佳匹配:追求"开箱即用"的商务人士,或需要自动化管理多个代理配置的跨境工作者。
4. Potatso Lite:轻量化的入门之选
对于刚接触代理工具的新手,Potatso Lite提供了最平缓的学习曲线。它剥离了高级功能,保留了最核心的代理体验。
简化艺术:
- 三步完成基础配置,无需理解复杂术语
- 内存占用仅为Shadowrocket的1/3,老旧设备也能流畅运行
- 内置常见服务预设,一键连接主流平台
推荐人群:仅需偶尔访问外网的轻度用户,或作为了解代理工具的"训练轮"。
5. Loon:隐秘的性能怪兽
这个鲜为人知的工具实则暗藏玄机。Loon的独特之处在于其底层优化,在相同节点条件下往往能获得更快的速度。
技术突破:
- 自主开发的TCP加速算法,降低高延迟环境下的丢包率
- 智能缓存系统,重复请求响应速度提升40%
- 完整的IPv6支持,面向未来网络环境
价值所在:游戏玩家、4K视频流媒体爱好者等对延迟敏感的用户群体。
三、选择决策树:找到你的本命工具
面对如此丰富的选择,我们提炼出一个四维评估法:
平台兼容性矩阵:
- 全平台战士:Clash
- Apple生态专属:Surge/Quantumult X
- iOS特化:Shadowrocket/Loon
技术能力光谱:
- 初学者:Potatso Lite → Quantumult X
- 进阶用户:Shadowrocket → Loon
- 专家模式:Clash → Surge
预算规划指南:
- 免费方案:Clash开源版
- 性价比之选:Quantumult X(24.99美元)
- 投资未来:Surge(49.99美元)
特殊需求匹配:
- 企业部署:Surge
- 移动优先:Loon
- 透明审计:Clash
四、前瞻:代理工具的未来演进
随着网络环境日益复杂,下一代代理工具正朝着三个方向发展:
- AI驱动的智能路由:通过机器学习预测网络拥堵,提前切换线路
- 零信任安全模型:动态验证每个请求的合法性,而非单纯依赖加密
- 边缘计算整合:将代理节点部署在离用户更近的CDN网络中
在这个信息即权力的时代,选择一款合适的代理工具不仅是技术决策,更是对自己数字主权的捍卫。无论是Shadowrocket还是其替代品,本质上都是打开自由之门的钥匙——重要的是找到最适合你手掌形状的那一把。正如网络自由倡导者Aaron Swartz所说:"信息即权力。但像所有权力一样,有些人只想独占它。"而我们的任务,就是确保这种权力得以民主化地分享。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-2106.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
下一个:联想Win10防火墙如何关闭?
热门文章
- 8月4日|20.2M/S,Shadowrocket(小火箭)/Clash(小猫咪)/V2ray免费节点订阅链接每天更新
- 7月16日|20.3M/S,SSR/Clash(小猫咪)/V2ray免费节点订阅链接每天更新
- 7月15日|22.9M/S,Clash(小猫咪)/SSR/V2ray免费节点订阅链接每天更新
- 7月18日|19.1M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 8月6日|20.2M/S,Clash(小猫咪)/V2ray/Shadowrocket(小火箭)免费节点订阅链接每天更新
- 7月13日|19.9M/S,Clash(小猫咪)/Shadowrocket(小火箭)/V2ray免费节点订阅链接每天更新
- 7月27日|22.3M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 7月17日|22M/S,Shadowrocket(小火箭)/Clash(小猫咪)/V2ray免费节点订阅链接每天更新
- 7月23日|22.6M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 7月20日|19.8M/S,Clash(小猫咪)/Shadowrocket(小火箭)/V2ray免费节点订阅链接每天更新
最新文章
- 8月11日|20.3M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 掌握Clash入口的艺术:从原理到实战的完整指南
- Quantumult深度解析:解锁抖音流畅体验的终极网络优化指南
- 三星S8科学上网全攻略:从问题诊断到完美解决方案
- Firefox 42 Beta 8发布 全平台大幅升级
- 检测网速、制作铃声、生成热门表情包,这 9 个在线网站你值得拥有
- secureCRT显示或输入中文
- Apple Watch 9两大升级可期!
- Photoshop分享︱简单几步给皮肤美白
- 安卓 Android 自动化傻瓜式教程-java版(appium)
- 生活中常见的电脑故障解决方法解析,学会了就不用花钱修电脑了