Python BeautifulSoup-从网页解析表时出错



我想解析以下站点的表数据:定价数据并创建一个包含所有表值(vCPU、内存、存储、价格(的数据帧。但是,使用以下代码,我似乎找不到页面上的表。有人能帮我弄清楚如何解析这些值吗?

使用pd.read_html,会显示一个错误,即找不到表。

import pandas as pd
from bs4 import BeautifulSoup
import requests
import csv
url = "https://aws.amazon.com/ec2/pricing/on-demand/"
r = requests.get(url)
html_content = r.text
soup = BeautifulSoup(html_content, 'html.parser')
data=[]
tables = soup.find_all('table')
df = pd.read_html(url)

如果你因为动态内容而遇到麻烦,那么硒是一个很好的解决方案,它可以模拟浏览器体验,这样你就不必担心管理cookie和动态web内容带来的其他问题。我能够用以下内容刮取页面:

import pandas as pd
from bs4 import BeautifulSoup
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('https://aws.amazon.com/ec2/pricing/on-demand/')
sleep(3)
html = driver.page_source
soup = BeautifulSoup(html,'lxml')
driver.close()
data=[]
tables = soup.find_all('table')
print(tables)

最新更新