JavaScript 逆向遇到请求加密,直接把爬虫代码注入到浏览器中执行的技巧

JavaScript 逆向遇到请求加密,直接把爬虫代码注入到浏览器中执行的技巧

💡 原文中文,约7500字,阅读约需18分钟。
📝

内容提要

本文介绍了如何编写爬虫以获取医疗网站的文章。首先,通过浏览器抓包获取疾病分类和文章列表的请求。由于请求参数加密,建议直接在浏览器中使用JavaScript调用ajax函数进行爬取,并通过本地HTTP服务器存储数据。爬虫代码使用Promise和async/await处理异步请求,并实现了分页和断点续传机制。最后,提出了将复杂爬虫逻辑与浏览器交互的方案。

🎯

关键要点

  • 本文介绍了如何编写爬虫以获取医疗网站的文章。
  • 爬虫的目标是爬取每个疾病分科下的所有文章。
  • 使用浏览器控制台抓包获取疾病分类和文章列表的请求。
  • 请求参数加密,建议使用JavaScript调用ajax函数进行爬取。
  • 通过本地HTTP服务器存储数据,解决数据存储问题。
  • 爬虫代码使用Promise和async/await处理异步请求。
  • 实现了分页和断点续传机制,确保爬虫的稳定性。
  • 提出了将复杂爬虫逻辑与浏览器交互的方案,使用WebSocket进行请求和响应的处理。

延伸问答

如何使用浏览器抓包获取医疗网站的请求信息?

可以通过浏览器控制台抓包,查看疾病分类和文章列表的请求信息。

请求参数加密的情况下,如何进行爬虫?

建议直接在浏览器中使用JavaScript调用ajax函数进行爬取,避免跨域问题。

如何存储爬取的数据?

可以在本地启动一个HTTP服务器,将爬取的数据通过POST请求发送到服务器,存储到文件中。

爬虫代码中如何处理异步请求?

使用Promise和async/await来处理异步请求,确保代码的可读性和稳定性。

如何实现爬虫的分页和断点续传机制?

在爬虫代码中手动设置最新获取的分类和文章,处理分页逻辑以实现断点续传。

如何将复杂爬虫逻辑与浏览器交互?

可以通过WebSocket与浏览器建立连接,将请求发送给浏览器中注入的代码,并获取响应。

➡️

继续阅读