Selenium и BeautifulSoup не находят все элементы на этой веб-странице - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в парсинге веб-страниц. Я хотел собрать данные о COVID-19 с сайта worldometer.com. Но selenium и BeautifulSoup находят только 7 из последних тегов. Это код:

 from selenium import webdriver

 driver=webdriver.Firefox()

 driver.get('https://www.worldometers.info/coronavirus/country/india/')

 rise = driver.find_elements_by_class_name("news_li")

 num_days = len(rise) print(len(rise)) print for i in range(num_days):
     print(rise[i].text)

Это код для beautifulsoup:

 from bs4 import BeautifulSoup from urllib.request import Request,
 urlopen url="https://www.worldometers.info/coronavirus/country/india/"
 req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})

 web_byte = urlopen(req).read()

 webpage = web_byte.decode('utf-8')

 bsobj=BeautifulSoup(webpage, 'html.parser') for k in
 bsobj.findAll("li",{"class":"news_li"}):
     print(k.find("strong").next_sibling.next_sibling.get_text())

 for b in bsobj.findAll("button",{"class":"btn btn-light date-btn"}):
     print(b['data-date'])

Это результат для селена:

7 1125 новых случаев и 12 новых смертей в Индии [источник]

Это результат для прекрасного супа:

2006 новых смертей 395 новых смертей 321 новых смертей 309 новых смертей 389 новых смертей 2020-06-17 2020-06-16 2020-06-15 2020-06-14 2020-06-13 2020-06-12

...