在Python中删除onclick表
我正在努力搜集2020年12月的STEAM硬软件调查(页面底部的表格)。该表可通过单击其中一个父级(例如“OS版本”)进行扩展。我的目标是访问这些父对象中的表 到目前为止,我尝试使用在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
请求
和美化组
(使用不同的解析器)检索此信息,但美化组
始终返回类型错误:“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]
在你的帮助下,我解决了我的问题。非常感谢你!