术语表
无浏览器采集
用普通 HTTP 直接向网站自己的列表接口取数,全程不启动浏览器——快、便宜,且只在数据本就结构化的地方可行(browserless collection)。
也称:无浏览器抓取, HTTP 抓取, 免浏览器采集。
无浏览器采集向网站要数据的方式,和网站自己的前端一模一样:向返回列表的那个接口发一个普通 HTTP 请求,拿回一份本就结构化的响应。什么都不渲染,脚本不执行,引擎也不启动。它是快得最多的采集方式——被驱动的浏览器要几分钟,它只要几秒——因为浏览器花掉的时间,几乎都是你本来不需要的活儿。
让它被认出来的不是没有窗口,而是请求的形状。默认的 HTTP 客户端在响应的第一个字节之前就已自报家门:它的 TLS 握手不是浏览器的,它的请求头顺序也不是浏览器的,而这两样都是在页面之外测量的——所以这里要弄对的是TLS 指纹,而不是 user-agent 字符串。Argus 的采集器会模拟真实浏览器的握手与请求头集合,并从环境自己的代理出网,因此这个请求在两方面都很普通。
限制也是诚实的那一条:只有在存在结构化接口的地方才行得通。当数据只存在于渲染后的 HTML 里,或者这项活儿要操作你自己的账号时,答案就换成一个真实的浏览器会话。Argus 把这条界限做成了两个工具而不是一个——预置采集器面向那些确有接口的具名服务,自动化则驱动真实环境去应付其余一切。
术语表里的更多条目
验证码代解
把一次挑战交给第三方服务去作答。偶尔有用,但远不能替代「不触发这次挑战」(CAPTCHA solving)。
时区与地理位置伪装
让浏览器报出与会话自称所在地相符的时钟——有时还有坐标——而不是机器实际所在地的(timezone spoofing)。
防关联浏览器
为了在一台机器上运行多个彼此独立的身份而造的浏览器,每个身份都有自己的存储、自己的设备特征和自己的网络出口(anti-detect browser)。
浏览器指纹
网页能在几毫秒内、无需授权就读到的一组浏览器与机器属性,合在一起足以认出这台设备(browser fingerprint)。
Canvas 指纹
让浏览器画一个图形或一行文字,再对回读到的像素做哈希,由此得出的标识(canvas fingerprint)。
WebGL 指纹
由网页通过 WebGL 看到的图形硬件构成的标识:声明的 vendor 与 renderer 字符串,加上三维场景渲染出的像素(WebGL fingerprint)。
所有条目都列在术语表索引上。