在Python中删除onclick表

在Python中删除onclick表,python,pandas,selenium-webdriver,beautifulsoup,Python,Pandas,Selenium Webdriver,Beautifulsoup,我正在努力搜集2020年12月的STEAM硬软件调查(页面底部的表格)。该表可通过单击其中一个父级(例如“OS版本”)进行扩展。我的目标是访问这些父对象中的表 到目前为止,我尝试使用请求和美化组(使用不同的解析器)检索此信息,但美化组始终返回类型错误:“NoneType”对象不可调用。在搜索API失败后,我尝试了结合使用Selenium。通过这种方法,我至少能够从表上方的图表中访问y标签,但无法访问所需的下表: import pandas as pd from selenium import

我正在努力搜集2020年12月的STEAM硬软件调查(页面底部的表格)。该表可通过单击其中一个父级(例如“OS版本”)进行扩展。我的目标是访问这些父对象中的表

到目前为止,我尝试使用
请求
美化组
(使用不同的解析器)检索此信息,但
美化组
始终返回
类型错误:“NoneType”对象不可调用
。在搜索API失败后,我尝试了结合使用
Selenium
。通过这种方法,我至少能够从表上方的图表中访问y标签,但无法访问所需的下表:

import pandas as pd
from selenium import webdriver

url = "https://store.steampowered.com/hwsurvey#main_stats"
opt = webdriver.FirefoxOptions()
opt.add_argument('-headless')
driver = webdriver.Firefox(options=opt)
driver.get(url)

pd.read_html(driver.page_source)

我非常感谢任何可能帮助我克服此问题的建议。

您可以从此代码重试:

import requests
from bs4 import BeautifulSoup

url="https://store.steampowered.com/hwsurvey#main_stats"
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6),AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}

response = requests.get(url, headers=headers).text
soup =  BeautifulSoup(response,"html.parser")
names=soup.find_all("div",{"class":"stats_col_left"})
os=soup.find_all("span",{"id":"osversion_val_1_on"})
#val=soup.find_all("div",{"class":"stats_col_mid"})
list_names=list()
for i in names:
    i=i.text
    i=i.strip("\xa0 ")
    list_names.append(i)
    list_names = [x for x in list_names if x]

在你的帮助下,我解决了我的问题。非常感谢你!