原文中文,约1000字,阅读约需3分钟。
📝
内容提要
最近遇到一个需求,需要抓取Docusaurus和Uniswap Docs上的全部文档。通过研究网站,发现可以在域名后加上 /sitemap.xml ,然后搜索关键词 /docs/ 或 /concepts 就能找到所有文档URL。使用Charles抓取Ajax请求解析起来麻烦,可以采用这种简单的方法获取URL。
🎯
关键要点
-
最近需要抓取Docusaurus和Uniswap Docs上的全部文档。
-
抓取文档的正文可以使用GNE高级版,只需有URL即可。
-
Docusaurus的页面和目录是JavaScript实时渲染的,XPath提取的链接有限。
-
使用Requests获取源代码无法获取每条目录的URL,Selenium执行XPath也不完整。
-
可以使用Charles抓取Ajax请求,但Docusaurus的URL在一个js文件中。
-
对于Docusaurus,可以在域名后加上/sitemap.xml并搜索/docs/来获取所有文档URL。
-
Uniswap Docs的URL分散在多个JS文件中,解析较为复杂。
-
同样可以在Uniswap Docs的域名后加上/sitemap.xml并搜索/concepts来获取文档URL。
-
在进行爬虫任务时,先研究网站可以减少不必要的工作量。
🏷️