我怎样才能找到一个有BeautifulSoup的班级?

2024-04-24 23:30:47 发布

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

我目前正试图看看电晕病例的数量和人口密度之间是否有任何关联。为了检查这一点,我需要所有数量的电晕案件从这个网站。“https://www.worldometers.info/coronavirus/” 在浏览了页面的源代码之后,我试图搜索“sorting_1”类下的所有数字。 但是,我的代码只返回一个空字符串。我的代码怎么了? 这是我试过的代码

import requests 

from bs4 import BeautifulSoup

url = "https://www.worldometers.info/coronavirus/"

page = requests.get("https://www.worldometers.info/coronavirus/")

soup = BeautifulSoup(page.text, 'lxml')

corona_numbers = soup.find_all(class_='sorting_1')

print(corona_numbers)

我希望有人能回答我的代码有什么问题,并向我展示一个实际工作的代码。。。Thx


Tags: 代码httpsimportinfo数量wwwpagerequests
2条回答

您需要更改以下代码:

import requests 

from bs4 import BeautifulSoup

url = "https://www.worldometers.info/coronavirus/"

page = requests.get("https://www.worldometers.info/coronavirus/")

soup = BeautifulSoup(page.text, 'lxml')

elements = soup.findAll('tbody')

for i in elements:
    print(i)

谢谢

正如@JoshuaNixon所说,JS将该类放在那里,但您至少可以轻松获得一些原始数据:

import requests 
from bs4 import BeautifulSoup

url = 'https://www.worldometers.info/coronavirus/'
page = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
rows = soup.find_all(class_='total_row_world')
data = [[td.text.strip() for td in row.find_all('td')] for row in rows]
for l in data:
    print(l)

它将打印如下内容:

['', 'North America', '2,333,402', '+5,682', '138,589', '+650', '966,689', '+3,281', '1,228,124', '19,520', '', '', '', '', '', 'North America', '', '', '']
['', 'South America', '1,219,723', '+695', '52,857', '+12', '563,854', '+31', '603,012', '11,932', '', '', '', '', '', 'South America', '', '', '']
['', 'Europe', '2,135,686', '+10,991', '180,485', '+301', '1,119,059', '+13,637', '836,142', '6,997', '', '', '', '', '', 'Europe', '', '', '']
['', 'Asia', '1,440,771', '+16,501', '36,529', '+232', '871,289', '+7,057', '532,953', '15,076', '', '', '', '', '', 'Asia', '', '', '']
['', 'Africa', '206,567', '+1,047', '5,578', '+10', '93,215', '+301', '107,774', '502', '', '', '', '', '', 'Africa', '', '', '']
['', 'Oceania', '8,887', '+9', '124', '', '8,332', '+24', '431', '3', '', '', '', '', '', 'Australia/Oceania', '', '', '']
['', '', '721', '', '15', '', '651', '', '55', '4', '', '', '', '', '', '', '', '', '']
['', 'World', '7,345,757', '+34,925', '414,177', '+1,205', '3,623,089', '+24,331', '3,308,491', '54,034', '942', '53.1', '', '', '', 'All', '', '', '']
['', 'Asia', '1,424,270', '+31,788', '36,297', '+658', '864,232', '+21,318', '523,741', '15,054', '', '', '', '', '', 'Asia', '', '', '']
['', 'North America', '2,327,720', '+24,384', '137,939', '+1,554', '963,408', '+20,131', '1,226,373', '19,520', '', '', '', '', '', 'North America', '', '', '']
['', 'South America', '1,219,028', '+42,752', '52,845', '+1,518', '563,823', '+3,862', '602,360', '11,932', '', '', '', '', '', 'South America', '', '', '']
['', 'Europe', '2,124,695', '+14,928', '180,184', '+824', '1,105,422', '+16,507', '839,089', '7,011', '', '', '', '', '', 'Europe', '', '', '']
['', 'Africa', '205,520', '+6,530', '5,568', '+178', '92,914', '+4,702', '107,038', '499', '', '', '', '', '', 'Africa', '', '', '']
['', 'Oceania', '8,878', '+3', '124', '', '8,308', '+14', '446', '2', '', '', '', '', '', 'Australia/Oceania', '', '', '']
['', '', '721', '', '15', '', '651', '', '55', '4', '', '', '', '', '', '', '', '', '']
['', 'World', '7,310,832', '+120,385', '412,972', '+4,732', '3,598,758', '+66,534', '3,299,102', '54,022', '938', '53.0', '', '', '', 'All', '', '', '']
['', 'Asia', '1,392,482', '+31,253', '35,639', '+614', '842,914', '+20,618', '513,929', '14,953', '', '', '', '', '', 'Asia', '', '', '']
['', 'North America', '2,303,336', '+24,856', '136,385', '+848', '943,277', '+15,980', '1,223,674', '19,439', '', '', '', '', '', 'North America', '', '', '']
['', 'South America', '1,176,276', '+29,806', '51,327', '+1,105', '559,961', '+28,597', '564,988', '11,792', '', '', '', '', '', 'South America', '', '', '']
['', 'Europe', '2,109,767', '+14,920', '179,360', '+417', '1,088,915', '+6,787', '841,492', '7,117', '', '', '', '', '', 'Europe', '', '', '']
['', 'Africa', '198,990', '+6,872', '5,390', '+173', '88,212', '+3,293', '105,388', '490', '', '', '', '', '', 'Africa', '', '', '']
['', 'Oceania', '8,875', '+5', '124', '', '8,294', '+5', '457', '3', '', '', '', '', '', 'Australia/Oceania', '', '', '']
['', '', '721', '', '15', '', '651', '', '55', '4', '', '', '', '', '', '', '', '', '']
['', 'World', '7,190,447', '+107,712', '408,240', '+3,157', '3,532,224', '+75,280', '3,249,983', '53,798', '922', '52.4', '', '', '', 'All', '', '', '']

相关问题 更多 >