beautifulsoup python找不到我要找的东西

beautifulsoup python找不到我要找的东西,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,因此,我试图提取大决赛部分的文本(优胜者团队名称) 我的问题是,soup没有找到我要提取的文本,它最多只能找到(class=“sgg2h1cC DEPRECATED\u bootstrap\u container undefined native scroll dragscroll”),但您可以在这里看到: 还有更多 这是我的代码,有人能解释一下我是如何得到我想要的信息的吗?我对网络垃圾也很陌生 from bs4 import BeautifulSoup URL = 'https://sma

因此,我试图提取大决赛部分的文本(优胜者团队名称)

我的问题是,soup没有找到我要提取的文本,它最多只能找到(class=“sgg2h1cC DEPRECATED\u bootstrap\u container undefined native scroll dragscroll”),但您可以在这里看到: 还有更多

这是我的代码,有人能解释一下我是如何得到我想要的信息的吗?我对网络垃圾也很陌生

from bs4 import BeautifulSoup

URL = 'https://smash.gg/tournament/revolve-oceania-2v2-finale/event/revolve-oceania-2v2-finale-event/brackets/841267/1343704'
page = requests.get(URL)

soup = BeautifulSoup(page.content, 'html.parser')
results = soup.find(id="app_feature_canvas")
a = results.find_all('div', class_="regionWrapper-APP_TOURNAMENT_PAGE-FeatureCanvas")
print()
for b in a:
    c = b.find('div', class_="page-section page-section-grey")
    print(c)

您在检查器中看到的内容与使用
请求时得到的内容不同。不要使用开发人员控制台,而是查看页面源代码

页面的这些部分是由JavaScript生成的,因此,当您通过
请求
请求页面时,这些部分不会出现

URL='1〕https://smash.gg/tournament/revolve-oceania-2v2-finale/event/revolve-oceania-2v2-finale-event/brackets/841267/1343704'
page=请求.get(URL)
打印(page.text)#注意,这与您在inspector中看到的完全不同

为获得JavaScript执行,请考虑使用<代码>硒>代码>代替请求。

从selenium导入webdriver
driver=webdriver.Chrome()
获取驱动程序(URL)
html=driver.page_source#完成JavaScript执行的DOM
soup=BeautifulSoup(html)
# ... 从这里开始
或者,页面源中可能有足够的信息来获取您要查找的内容。请注意,页面源代码中有很多JSON,其中包含各种信息,JS可能会使用这些信息来填充这些元素

或者,您也可以在inspector中从DOM浏览器复制/粘贴。(右键单击html元素并单击“复制外部html”)

html=pyperclip.paste()#将剪贴板的内容放入变量中
soup=BeautifulSoup(html)
结果=soup.find(id=“app\u feature\u canvas”)
a=结果。查找所有('div',class=“regionWrapper-APP\u锦标赛\u PAGE-FeatureCanvas”)
打印()
对于a中的b:
c=b.find('div',class=“页面部分灰色”)
印刷品(c)

这是有效的:-)

但我希望它是自动的,而不是复制和粘贴。在这种情况下,使用selenium或其他提到的方法。当你说“注意,有很多JSON”时,我看不到任何JSONi,我看不到第4700行。扫描它,它似乎包括诸如用户名、位置等内容。