Я новичок в веб-сканировании и хочу создать веб-сканер на python, который получает определенные данные о коронавирусе с компакт-диска C, что сейчас просто общее число случаев в США. Ниже приведен мой код
from create import *
from data_finder import *
import pandas as pd
import urllib.request
import ssl
def crawl(pg_url):
html_string=''
try:
ssl._create_default_https_context = ssl._create_unverified_context
req = urllib.request.Request(pg_url)
response = urllib.request.urlopen(req)
the_page = response.read()
html_string=the_page.decode("utf-8")
print(html_string)
finder = data_finder()#my own function that select certain elements from <td> tag
finder.feed(html_string)
create_dir('corona_data')
df=pd.DataFrame(finder.dict.items(),columns=['Number of Days','Total Cases'])
df.to_csv('./corona_data/data.csv', sep='\t', encoding='utf-8')
except:
print('bad page')
crawl('https://www.cdc.gov/TemplatePackage/contrib/widgets/cdcCharts/iframe.html?chost=www.cdc.gov&cpath=/coronavirus/2019-ncov/cases-updates/cases-in-us.html&csearch=&chash=&ctitle=Cases%20in%20U.S.%20%7C%20CDC&wn=cdcCharts&wf=/TemplatePackage/contrib/widgets/cdcCharts/&wid=cdcCharts2&mMode=widget&mPage=&mChannel=&host=www.cdc.gov&displayMode=wcms&configUrl=/coronavirus/2019-ncov/cases-updates/total-cases-onset.json&class=mb-3')
Моя проблема в том, что я проверяю элементы tr и td в chrome, однако они не отображаются, когда я выполняю urlopen, затем читаю и затем декодирую. После некоторого поиска я обнаружил, что проблема может быть связана с таблицей данных, созданной с использованием javascript вместо простого HTML. Поэтому мне интересно, как мне это исправить, чтобы я мог предварительно загрузить всю страницу, проверить и скопировать все HTML, как я делал, когда просматривал, а затем проанализировать себя.