【问题标题】:How do i get the contents of a javascript variable?如何获取 javascript 变量的内容?
【发布时间】:2019-06-17 18:09:20
【问题描述】:

当我使用beautifulsoup4 阅读网站时,我正在尝试获取网站上的javascript 变量的内容。 javascript变量在输出前参与计算。

包含以下所有 javascript 的网站是: 查看源代码:https://r6.tracker.network/profile/pc/thelonerankwolf/matches

我想检索matchGroup.data.matchesmatchGroup.data.winsmatchGroup.data.kd

<section class="trn-scont__content">
<div class="trn-card" v-for="(matchGroup) in filteredMatches">
<div class="trn-card__content">
<h2 class="trn-title trn-title--normal">
{{ showDate(matchGroup.day) }}
</h2>
<div class="trn-defstats-grid">
<div class="trn-defstat">
<div class="trn-defstat__name">Matches</div>
<div class="trn-defstat__value">{{ matchGroup.data.matches }}</div>
</div>
<div class="trn-defstat">
<div class="trn-defstat__name">Wins</div>
<div class="trn-defstat__value">{{ matchGroup.data.wins }}</div>
</div>
<div class="trn-defstat">
<div class="trn-defstat__name">Kills</div>
<div class="trn-defstat__value">{{ matchGroup.data.kills }}</div>
</div>
<div class="trn-defstat">
<div class="trn-defstat__name">K/D</div>
<div class="trn-defstat__value">{{ matchGroup.data.kd }}</div>
</div>
<div class="trn-defstat">
<div class="trn-defstat__name">MMR Change</div>
<div class="trn-defstat__value">{{ matchGroup.data.mmrDelta }}</div>
</div>
<div class="trn-defstat">
<div class="trn-defstat__name">Time Played</div>
<div class="trn-defstat__value" v-seconds-to-hms="matchGroup.data.timePlayed"></div>
</div>
</div>
</div>

我需要帮助获取变量的值,例如: 匹配 = 6

【问题讨论】:

  • 您必须在 wwbsite 上执行 Javascript。 Beautifulsoup 无法为您做到这一点。
  • 您要废弃网站吗?我想告诉你一个简单的出路......在python中。

标签: python python-3.x python-3.6


【解决方案1】:

BeautifulSoup 是一个只解析 HTML 的 Python 库。它允许您获取 HTML 元素内部的信息(例如文本、链接、图像),但它不会为您运行 javascript。如果您需要查看此变量的值,并且它以您想要的方式实例化,那么您可以简单地使用字符串解析器,如this 答案中所示。如果您需要运行 javascript 代码来获取变量的值,那么您将需要其他东西。您可以使用 PhantomJS,但我的建议是使用 selenium。 Selenium 允许您控制浏览器,例如 Chrome,它将为您运行网页上的所有 javascript 代码。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多