使用 Python 从网站抓取图形数据

Scraping graph data from a website using Python

是否可以从网站捕获图形数据? 比如网站here,有很多情节。 是否可以使用 Python 代码捕获这些数据?

查看您提供的 link 的页面源代码,可以通过 link 以 JSON 格式直接获得图表数据。 http://www.fbatoolkit.com/chart_data/1414978499.87

所以你的爬虫可能想要做这样的事情:

import requests
import re

r = requests.get('http://www.fbatoolkit.com')
data_link = b'http://www.fbatoolkit.com/' + re.search(b'chart_data/[^"]*', r.content).group()
data_string = requests.get(data_link).content.decode('utf-8')
chart_data = eval(data_string.replace('window.chart_data =', '').replace(';\n',''))

(编辑以解释我找到 link 的过程) 当我遇到这样的问题时,我做的第一件事就是查看页面源代码,( ctrl-u 在 Chrome 中 Windows)。我四处寻找与绘制图表相关的内容,直到找到以下 javascript

  function make_containers(i){
        var chart = chart_data[i];

然后我在源代码中搜索了他们定义变量的位置 chart_data。我找不到这个,但我确实找到了行

<script type="text/javascript" src="/chart_data/1414978499.87"></script>

接着这个link,(你可以在Chrome的查看源页面中点击它)我可以看到这是javascript的一行定义这个变量。 (请注意,在我的示例代码的最后一行中,我必须对该文件进行一些更改才能使其在 Python 中进行评估)。