python - 抓取返回生成 html 节点的 javascript 文件的 ajax 页面

标签 python web-scraping

某些页面不会在 ajax 上返回原始数据(如 json、xml 或 html)。相反,他们使用一些框架,例如 dojo,其中 ajax 调用返回 js 文件,这些文件以某种方式填充 html 节点。

我想知道是否有非 Selenium 策略可以从这些页面中抓取数据。

最佳答案

除了基于 seleniumwebkit 的方法之外,您还可以使用 javascript 代码解析器解析 javascript,例如 slimit 。它肯定会提高网络抓取的复杂性和可靠性,因为你使用它来使用裸露的硬核金属 - 将其视为“白盒”方法,而不是基于 Selenium 的高级“黑匣子”之一。

这是我针对您所询问的完全相同的主题/问题给出的答案:

它涉及使用 slimit 从 javascript 代码中获取对象,通过 json 模块将其加载到 python 数据结构,并使用 解析内部的 HTML >BeautifulSoup 解析器。

关于python - 抓取返回生成 html 节点的 javascript 文件的 ajax 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444710/

相关文章:

python - 使用 Python 抓取价格列表

python - 请求 UnicodeEncodeError : error

python - 使用 Selenium 登录网站,但继续处理(登录时)请求

Python 在使用 multiprocessing.pool.map() 调用的函数中增加一个数字

python - 在 Python 中使用 mdbtools 从 .mdb 文件中提取和排序数据

python - Python 和 Django 时区格式问题

python - 每个用户和每个 View 的 django rest 框架限制

Python Beautiful Soup 检索多个网页的信息

javascript - Cheerio 错误处理程序 Node js

javascript - 如何下载在 puppeteer 的新选项卡中打开的 pdf?