Селен код не может поймать таблицу от Chrome - PullRequest
0 голосов
/ 24 марта 2020

Я использую селен для анализа с

https://www.worldometers.info/coronavirus/

и, как указано ниже, получаю ошибку атрибута, а переменная таблицы остается пустой, что причина?

Я использую Chrome 80. Верны ли теги?

AttributeError: У объекта 'NoneType' нет атрибута 'tbody'

from selenium import webdriver
import bs4
browser = webdriver.Chrome()

browser.get("https://www.worldometers.info/coronavirus/")
html = bs4.BeautifulSoup(browser.page_source, "html.parser") 
table = html.find("table",class_="table table-bordered table-hover main_table_countries dataTable no-footer") # 

1 Ответ

1 голос
/ 24 марта 2020

Везде, где у меня есть table теги, мне проще использовать pandas для захвата таблицы.

import pandas as pd

url = 'https://www.worldometers.info/coronavirus/'
table = pd.read_html(url)[0]

Вывод:

print(table)
        Country,Other  TotalCases  ... Tot Cases/1M pop  Tot Deaths/1M pop
0               China       81093  ...            56.00                2.0
1               Italy       63927  ...          1057.00              101.0
2                 USA       43734  ...           132.00                2.0
3               Spain       35136  ...           751.00               49.0
4             Germany       29056  ...           347.00                1.0
..                ...         ...  ...              ...                ...
192           Somalia           1  ...             0.06                NaN
193             Syria           1  ...             0.06                NaN
194       Timor-Leste           1  ...             0.80                NaN
195  Turks and Caicos           1  ...            26.00                NaN
196            Total:      378782  ...            48.60                2.1
[197 rows x 10 columns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...