Невозможно очистить все строки таблицы с помощью Beautifulsoup - PullRequest
0 голосов
/ 30 марта 2020

Я попытался очистить строки таблицы с веб-сайта https://google.com/covid19-map/?hl=en, чтобы получить данные о распространении вируса короны. Но это возвращает только несколько строк, в моем случае 15. Я не могу очистить все строки. Таблица не полностью видна на веб-сайте, для просмотра содержимого таблицы необходимо выполнить прокрутку. Пожалуйста, помогите.

import requests 
from bs4 import BeautifulSoup 


URL = "https://google.com/covid19-map/?hl=en"
r = requests.get(URL) 

soup = BeautifulSoup(r.content, 'html5lib') 

all_rows = soup.findAll('tr', attrs = {'class':'A5V3jc'})

for i in range(len(all_rows)):

    # Getting image link
    img_link = all_rows[i].find('img')
    if img_link != None:
        print(img_link['src'])

    # Getting name field
    name = all_rows[i].find('span')
    if(name != None):
        print(name.text, end ="\t")

    # getting remaining data
    remaining_entries = all_rows[i].findAll('td', attrs = {'class':'uMsnNd HAChlc'})

    for j in remaining_entries:
        if(j != None):
            print(j.text, end="\t\t\t")
    print("\n\n")

1 Ответ

1 голос
/ 30 марта 2020
import pandas as pd
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument('--headless')
driver = webdriver.Firefox(options=options)

driver = webdriver.Firefox(options=options)
driver.get("https://google.com/covid19-map/?hl=en")
df = pd.read_html(driver.page_source)[1]

df.to_csv("Data.csv", index=False)

driver.quit()

Вывод: просмотр онлайн

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...