JavaScript 逆向遇到请求加密,直接把爬虫代码注入到浏览器中执行的技巧
原文中文,约7500字,阅读约需18分钟。发表于: 。正文 最近接到一个需求是写爬虫去获取一个医疗相关的网站上的文章。 结构首先是一个疾病分科,然后每个分科下有一些文章列表。文章列表点进去是具体的文章。我们的目标是爬取每个分科下的所有文章。 首先用浏览器控制台抓包,发现所有的请求都是基于 ajax 的。我们在下面的表示中将展示请求 URL、请求 Body 和响应 Body,分别用两个换行符隔开。 其中获取疾病分科列表的请求很简单: ...
本文介绍了如何编写爬虫以获取医疗网站的文章。首先,通过浏览器抓包获取疾病分类和文章列表的请求。由于请求参数加密,建议直接在浏览器中使用JavaScript调用ajax函数进行爬取,并通过本地HTTP服务器存储数据。爬虫代码使用Promise和async/await处理异步请求,并实现了分页和断点续传机制。最后,提出了将复杂爬虫逻辑与浏览器交互的方案。