【发布时间】:2015-01-25 13:55:47
【问题描述】:
我想从一系列页面中抓取数据块,这些页面将数据隐藏在脚本标记内的 JSON 对象中。我对 BeautifulSoup 相当满意,但我想我可能会在尝试使用它从 JavaScript 中获取数据时找错了树。
页面的结构大致是这样的:
...
<script>
$(document).ready(function(){
var data = $.data(graph_selector, [
{ data: charts.createData("Stuff I want")}
])};
</script>
head 和 body 各有无数个脚本,但每页只有一个 var data。我不确定如何为 BeautifulSoup 识别这个特定的<script>,除非var data 存在
我可以这样做吗?还是我需要其他工具?
【问题讨论】:
-
我会使用 BeautifulSoup 找到原始 javascript 字符串,然后使用正则表达式来获取“我想要的东西”Somewhat related 或 something like this
-
但是等式中 BeautifulSoup 的值相当低。它允许您找到
<script>节点,但一开始这并不难。 (正确地,你应该忽略任何被注释掉的,但这在现实中并不是一个大问题。)
标签: javascript python beautifulsoup