我使用BS4返回下一页的信息:https://www.sportsbookreview.com/betting-odds/mlb-baseball/money-line/?date=20171029
我的问题是围绕着返回到一个可用的格式局得分框。理想情况下,我想保存一个半局的分数列表,看起来像['3'、'0'、'0'、'0'…]。到目前为止,我只能返回['30','00'…]
两个分数都在同一个班级,我认为这是问题的根源:
<div class="_2563p">
<div class="_1Y3rN _308Yc">
<div>3</div>
<div>0</div></div>
<div class="_1Y3rN _308Yc">
<div>0</div>
<div>0</div>
</div>
我现在可以使用以下公式返回组分数['30','00'…]:
import bs4, pandas as pd, re
from datetime import datetime
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome(r'C:\Users\grant\PythonScripts\chromedriver.exe')
url = ('https://www.sportsbookreview.com/betting-odds/mlb-baseball/?date=' + betDate) # Full MLs
driver.get(url)
fullML = driver.page_source
driver.quit()
fullMLsoup = bs4.BeautifulSoup(fullML, 'html.parser')
x = [el.text.strip() for el in fullMLsoup.find_all(re.compile(r'div'), {'class':"_1Y3rN _308Yc"})]
print(x)
有人能帮我以我要找的['3'、'0'、'0'、'0']格式返回吗
您可以在bs4 4.7.1中使用第n个子级和第一个子级。这是最后两列
您可以通过regex以json的形式获取所有内容,然后解析json。探索jsonhere
相关问题 更多 >
编程相关推荐