ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

spiders反反爬策略:移动端UA伪装与Referer校验绕过实战

spiders反反爬策略:移动端UA伪装与Referer校验绕过实战 spiders反反爬策略移动端UA伪装与Referer校验绕过实战【免费下载链接】spidersPython爬虫返回一定格式的信息下载使用flask提供简易api。抖音无水印、皮皮虾、快手、网易云音乐、qq音乐、咪咕音乐、荔枝FM音频、知乎视频、最右语音、视频、微博......项目地址: https://gitcode.com/gh_mirrors/sp/spiders作为一款开源的多平台 Python 爬虫工具集spiders内置了抖音、快手、B站、网易云音乐、QQ音乐、咪咕音乐、荔枝FM、知乎视频、最右等数十个平台的解析能力并通过 Flask 提供简易 API 服务。它之所以能稳定拿到无水印视频和原声音频关键在于一套简单却高效的反反爬策略移动端 UA 伪装与 Referer 校验绕过。这篇实战文章将带你拆解这些招数新手也能轻松看懂。为什么爬虫会被识别先看懂反爬三关卡大多数网站的反爬并没有想象中复杂常见就这三道关卡关卡原理绕过方式UA 校验服务器通过 User-Agent 判断访问者来自浏览器还是脚本伪装成手机或浏览器的 UAReferer 校验服务器检查请求从哪个页面跳转而来伪造合法的 Referer 来路Cookie/Origin 校验验证会话状态与跨域来源补全 Cookie、Origin、Host 等头spiders 项目把这三招都玩明白了每个平台对应一个独立的爬虫文件统一放在 extractor 目录下结构清晰非常适合当作反反爬入门教材。移动端UA伪装让服务器以为你是手机用户手机端接口往往比 PC 端更宽松返回的数据也更精简因此移动端 UA 伪装是 spiders 最常用的招数。所谓 UA 伪装就是伪造一个 iPhone 或 Android 浏览器的 User-Agent让服务器放松警惕。抖音无水印视频一条 iPhone UA 搞定打开 douyin.py可以看到它请求分享链接和视频信息接口时都带着 iPhone 的 UAuser-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1伪装成 iPhone 后抖音接口会直接返回无水印的播放地址代码里再做一个playwm到play的替换无水印视频就到手了。B站封面与视频UA Referer 双保险再看 bilibili.py它请求视频页时同时带上了 iPhone UA 和Referer: https://www.bilibili.com/模拟用户从 B站首页点进来的正常行为从而顺利拿到封面和视频直链。这条经验非常通用UA 伪装往往和 Referer 校验绕过搭配使用效果最好。快手与荔枝FM移动端 UA 的更多应用快手爬虫 kuaishou.py、荔枝FM爬虫 lizhiFM.py 也都清一色使用移动端 UA而 utils.py 里默认的下载 headers 同样是 iPhone UA保证了下载环节也足够像手机。Referer校验绕过伪造来路解锁资源Referer 校验绕过是反反爬的另一半江山。很多网站的 CDN 会校验请求来源如果不是从本站页面发起的请求就拒绝返回资源。绕过方法很简单把 Referer 伪造成本站地址即可。咪咕音乐PC 不行就换移动端 Refererextractor/migu_music.py 是很好的案例——它同时伪装 Android UA 和Referer: https://m.music.migu.cn/请求咪咕的详情接口和播放接口轻松拿到高品质音频地址。注意这里 Referer 用的是移动端域名m.music.migu.cn和移动 UA 形成人设一致服务器更难识破。皮皮搞笑Referer、Origin、Host 全套补齐更进阶的玩法在 pipigaoxiao.py这个皮皮搞笑ippzone爬虫把Host、Origin、Referer、Content-Type等十多个请求头全部补齐POST 请求看起来和网页端一模一样。这就告诉我们当 Referer 校验较严格时尽量把浏览器会带的请求头都带上减少破绽。网易云与酷我同类技巧的反复验证同样的思路还出现在 music163/music163.pyReferer 为 music.163.com和 kuwo.pyReferer 为 www.kuwo.cn中。可见在音乐类平台Referer 校验几乎是标配而Referer 校验绕过也因此成了爬虫必备技能。进阶细节Cookie、Cookie 之外还有哪些坑除了 UA 和 Refererspiders 还演示了几个容易被忽视的细节Cookie 补全快手爬虫在 headers 里携带了didweb_xxx的 Cookie没有它快手可能直接拒绝访问。链接改写快手爬虫会把桌面端链接改写为c.kuaishou.com/fw/photo/xxx的移动端形式先让 URL 变成手机友好再请求。统一返回格式所有爬虫的get(url)都返回 title、author、audios、videos 等统一字段的字典extractor/README.md 里有详细说明这为后续批量下载和 API 输出打好了基础。如何上手体验这套反反爬思路想亲手验证这些反反爬策略跟着三步走克隆项目执行git clone https://gitcode.com/gh_mirrors/sp/spiders需要 Python 3.6部分平台还需安装 Node.js。安装依赖pip3 install -r requirements.txt。运行体验python3 extract.py粘贴任意支持的链接如抖音、B站、快手工具会自动识别平台、解析资源并多线程下载。主入口 extract.py 内置了平台识别路由表和统一下载队列如果你更想要 HTTP 接口项目还基于 Flask 封装了简易 API入口在 web/app.py可以方便地对接自己的应用。总结通过 spiders 这个开源项目我们看到了反反爬的经典三板斧移动端 UA 伪装让请求看起来像手机、Referer 校验绕过让请求看起来有来路、Cookie 与 Origin 等头补全让请求看起来是真人。这些技巧代码量小、见效快非常适合新手爬虫工程师学习。当然任何反反爬技巧都应以合法合规为前提请仅在授权范围内用于学习与研究。【免费下载链接】spidersPython爬虫返回一定格式的信息下载使用flask提供简易api。抖音无水印、皮皮虾、快手、网易云音乐、qq音乐、咪咕音乐、荔枝FM音频、知乎视频、最右语音、视频、微博......项目地址: https://gitcode.com/gh_mirrors/sp/spiders创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表