urllib.request+BeautifulSoup无法刮取特定页面,而是刮取根页面

2024-10-05 12:26:32 发布

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

我在从url中抓取信息时遇到问题,但是由于网站处理事情的方式,BeautifulSoup只从根页面收集数据,也称为http://csgo-stats.com

是否有一个重定向正在进行,这是绊倒了BS?我可以在html中看到BS输出,它试图加载我的数据,但BS捕获数据太快:

<main class="site-content" id="content">
        <div class="loading-spinner" data-request="epsilon-" id="load">
            Loading
        </div>

以下是我正在使用的代码,以防需要:

from urllib.request import urlopen
from bs4 import BeautifulSoup

url = "http://csgo-stats.com/Epsilon-/"
soup = BeautifulSoup(urlopen(url))
print(soup.prettify())

Tags: 数据fromimportdivcomidhttpurl
2条回答

虽然大多数http内容库(beautiful soup、请求等)都可以为您获取页面源,但页面在浏览器中呈现后的外观并非如此。这与当前HTML代码的构建方式有关,这是因为大部分页面呈现都是在页面上的所有JavaScript完成工作之后进行的。这正是你看不到“最终”内容的原因

现在,如果您希望在播放完所有JavaScript音乐后以浏览器呈现的方式收集内容,那么您需要另一种(python)库,该库就是Selenium

关于硒的更多信息:http://www.seleniumhq.org/

只是想提醒你,硒是一种非常大的动物,有很多毛茸茸的末端,但学习它是值得的(不仅仅是为了刮擦)

相关问题 更多 >

    热门问题