博客
指南、教程与 洞见
从 Shifter 团队了解住宅代理、网页抓取、数据采集策略及行业最佳实践。
数据抓取
数据抓取 4 分钟阅读
谁在屏蔽AI爬虫?GPTBot、ClaudeBot及其他在前10,000个网站中的表现
我们查阅了前10,000个域名的robots.txt文件。五分之一的网站至少屏蔽了一个AI爬虫,而几乎所有网站仍然对搜索引擎敞开大门。
数据抓取
数据抓取 4 分钟阅读
过时 User-Agent 的代价:衡量浏览器版本漂移
爬虫常常硬编码一个浏览器版本,然后就不再更新。我们以声称长达6.5年之久的旧版Chrome身份请求了397个热门网站,拒绝率逐年攀升。
数据抓取
数据抓取 5 分钟阅读
你的目标可以被屏蔽吗?反爬虫技术栈查询
在构建爬虫之前,先了解目标受何种保护。我们检查了排名前1000的域名:它们使用了哪些反爬虫厂商,以及一个普通客户端的表现如何。
数据抓取
数据抓取 3 分钟阅读
代理选择作为多臂老虎机问题
下一个请求应该使用哪种代理配置?把它当作一个老虎机问题来处理。在我们的模拟中,自适应选择的结果与完美事后判断的差距仅为2%。
数据抓取
数据抓取 4 分钟阅读
设计幂等爬虫:中断后重启而不重复
爬虫会崩溃。我们在抓取过程中将一个爬虫强制终止了十次:简单版本存储的行数多达4.3倍,幂等版本则恰好是500行。如何构建后者。
数据抓取
数据抓取 3 分钟阅读
抓取数据中的字符编码:检测字符集与修复乱码
我们在六个国家抓取了193个顶级主页。一个常见的Python默认设置使其中37个页面的文本变成乱码。如何像浏览器一样解码抓取的页面。
数据抓取
数据抓取 4 分钟阅读
保留原始响应:以WARC格式归档抓取页面以供回放
解析器会改进,提取器会失效,但未保存的页面无法重新解析。如何以WARC格式存储原始响应,附经过测试的代码和真实数据大小。
数据抓取
数据抓取 3 分钟阅读
找到页面背后的API:从JSON端点收集数据而非HTML
许多页面以JSON形式加载数据。如何找到承载数据的端点,为何它通常与页面的会话绑定,以及如何负责任地收集它。
数据抓取
数据抓取 3 分钟阅读
站点地图作为发现来源:无需爬取整站即可找到每个URL
XML站点地图列出了网站的URL,有时还包括它们的更改时间。如何正确读取它们,以及为什么不应在未加以核实的情况下信任lastmod。