如何获取Javascript变量的内容

2024-10-03 15:30:59 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用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


Tags: namedivdatavalue网站contentjavascriptcard
1条回答
网友
1楼 · 发布于 2024-10-03 15:30:59

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

相关问题 更多 >