如何从此特定页面中提取文本?无法使用 bs4+python 这样做

How to extract text from this specific page ? Unable to do so with bs4+python

我有以下页面:

http://greyhoundbet.racingpost.com/#card/race_id=1632746&r_date=2018-08-17&tab=form

它包含 "tables" 中组织的一系列信息。我需要 "extract" 该信息(行和列)以便稍后处理信息。

知道我是新手,我尝试用 python 和 bs4 来做,但我没有成功。你会推荐什么?

1) 我是否应该使用一种允许我从页面中读取文本的程序语言(我应该使用哪个?我要寻找什么?)然后对其进行操作?

2) 我可以手动获取文本 (ctrl+c) 并以某种方式将其发送到 python 吗?


您如何以最简单的方式从页面获取信息以便稍后处理数据?

谢谢大家,如果这是一个愚蠢的问题,我很抱歉。过去一周我一直在为此苦苦挣扎。

此致, P.

编辑: 我在考虑使用面向对象的方法来分离每只灰狗并研究每个数字。也许最好用 C# 来做?

  1. 我建议使用基于 phantomjs 的 Python 绑定 https://selenium-python.readthedocs.io/, or CasperJS (http://casperjs.org/) 的 Selenium。第二个写在Javascript.
  2. 创建一个文本文件并粘贴复制的文本。然后读取文件 python :

    打开('page_text.txt') 作为 f: 行数 = f.readlines()

您不能使用 bs4 抓取页面。你需要一个'headless browser',一个可以加载动态网页的工具(比如Selenium等)

如果您需要重复执行此操作,那么您可能应该使用无头(可驱动)浏览器,正如其他答案所建议的那样。

但是,如果您不需要经常这样做,则可以从普通浏览器获取信息。例如,在 Firefox 中:

Right Click -> Select All
Right Click -> View Selection Source
File -> Save Page As...

这为您提供了当前 DOM 的序列化(由 JavaScript 动态构建),而不是原始获取的文档。