gpt4 book ai didi

python - 为什么我从 BeautifulSoup 获得的 HTML 与我检查元素时看到的 HTML 不同?

转载 作者:太空宇宙 更新时间:2023-11-04 16:04:34 24 4
gpt4 key购买 nike

我正在制作一个用户名抓取工具,我真的不明白为什么在我解析它时 HTML 会“消失”。我们以这个网站为例: http://www.lolking.net/leaderboards#/eune/1

HTML output

看看里面怎么会有一个tbody和一堆表?好吧,当我解析它并将它输出到 shell 时,tbody 是空的

   <div style="background: #333; box-shadow: 0 0 2px #000; padding: 10px;">
<table class="lktable" id="leaderboard_table" width="100%">
<thead>
<tr>
<th style="width: 80px;">
Rank
</th>
<th style="width: 80px;">
Change
</th>
<th style="width: 100px;">
Tier
</th>
<th>
Summoner
</th>
<th style="width: 150px;">
Top Champions
</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>

为什么会发生这种情况,我该如何解决?

最佳答案

此站点需要 JavaScript 才能运行。 JavaScript 用于通过形成 Web 请求来填充表格,该请求可能指向后端 API。这意味着没有任何 JavaScript 影响的“原始”HTML 有一个空表。

如果我们在禁用 JavaScript 的情况下访问该站点,我们实际上可以在后台看到这个空表:

Screenshot

BeautifulSoup 不会导致此 JavaScript 执行。相反,看看一些替代库,例如更高级的 Selenium .

关于python - 为什么我从 BeautifulSoup 获得的 HTML 与我检查元素时看到的 HTML 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com