贝利信息

解决动态加载内容爬取问题:利用XHR请求获取隐藏数据

日期:2025-11-25 00:00 / 作者:聖光之護

本教程旨在解决使用beautifulsoup爬取网页时,因内容动态加载而无法获取目标数据的问题。当页面元素通过javascript的xhr请求异步加载时,直接解析初始html将失败。文章将详细阐述如何通过浏览器开发者工具识别这些xhr请求,并利用python的`requests`库直接调用api接口,从而成功获取并处理动态生成的数据。

在进行网页数据抓取时,开发者常会遇到一个常见问题:尽管在浏览器中能看到完整的页面内容,但使用BeautifulSoup等解析工具获取到的HTML却缺少部分目标数据。这通常是由于网站采用了动态加载技术,即页面内容并非一次性从服务器加载,而是通过JavaScript在页面加载完成后,通过XMLHttpRequest (XHR) 或 Fetch API 异步请求数据并更新DOM。

理解动态加载与XHR请求

当您尝试从https://www.parliament.lk/en/members-of-parliament/directory-of-members/?cletter=A这样的页面抓取