python - 将表数据转换为数据框并过滤
问题描述
我正在从这个网站上抓取 Over/Under 赔率数据:https ://www.oddsportal.com/soccer/uruguay/segunda-division/juventud-sud-america-I1G8VYUr/?r=1#over-under;2;6.50 ;0
抓取发生如下:
url='https://www.oddsportal.com/soccer/chile/primera-division/curico-unido-o-higgins-CtsLggl6/'
browser = webdriver.Chrome(ChromeDriverManager().install())
browser.get(url)
overunder=browser.find_element_by_css_selector("a[title='Over/Under']").click()
browser.maximize_window()
odds_rows = WebDriverWait(browser, 10).until(
EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.table-header-light')))
for i in odds_rows:
count = i.find_element_by_xpath('./span[@class="odds-cnt"]')
elem = i.find_elements_by_xpath('.//[contains(text(),"Compare")]')
txt = count.text
if txt != '' and len(elem):
elem = elem[0]
browser.execute_script("arguments[0].scrollIntoView();", elem)
elem.click()
我正在循环浏览多个比赛页面并为存储在表格中的多个投注提供商抓取大小盘赔率数据:[赔率表][1]
数据存储在我已经抓取的类表容器中:
table_src=WebDriverWait(browser, 10).until(
EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.table-container')))
接下来我试图将这些数据解析成行和列:
appended_data=[]
for i in table_src:
html_src=i.get_attribute('innerHTML')
soup= BeautifulSoup(html_src,'html.parser')
tab_data = [[cell.text for cell in row.find_all(["th","td"])]
for row in soup.find_all("tr")]
接下来,我尝试将其添加到 Dataframe 中:
appended_data.append(tab_data)
# df = pd.DataFrame(tab_data)
df = pd.DataFrame(appended_data)
然而,这给我留下了一个非常奇怪和令人费解的 DF:[Dataframe][2]
可以看出,数据框有很多列。理想情况下,我希望 DF 只包含这些列:Bookmaker、Total、Over、Under、Payout
然后我想过滤两个特定的博彩公司,如下所示:
appended_data.loc[appended_data['0'].isin(bookmakers)]
我缺少什么来完成这项工作?[1]:https ://i.stack.imgur.com/dmadi.png [2]:https ://i.stack.imgur.com/xJcqo.png
解决方案
推荐阅读
- mysql - 在 localhost 上创建的数据库在 mysql 服务器管理中不可见
- unity3d - 几秒钟后使用协程使对象处于活动状态?
- java - 来自 Spring 响应的位置 0 的 JSON 中的意外令牌 S
- javascript - 如何从第三方应用程序替换评论部分中的图像
- javascript - 如何使用 react.js 处理单选按钮
- json - 使用 Postman 测试 API,Postman 调用在哪里?
- python - 为什么 CPython 不将文字的结果存储为代码对象的常量?
- spring - 使用 Kotlin 进行 JPA 审计
- php - 从 PHP 中的多维数组创建一个新数组
- file - django 2.2 中的静态文件与 django 1.7 中的静态文件