我正在尝试刮一个名为网站的网站以获取赔率。团队和赔率都是用JavaScript编写的,这就是为什么我使用selenium的webdriver。我现在被困住了。
从下面的代码中,我只需要提取团队和赔率,但是如果我使用find_all的get_text(),我不能使用get_text(),如果我使用get_text(),我可以使用get_text(),但是我只知道第一个团队的名称,然后它就停止了--它应该这样做,但是如何使它迭代以找到所有的团队呢?在这之后找到机会?
from selenium import webdriver
from bs4 import BeautifulSoup
url = "https://www.website.com"
driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
containers01 = soup.find("span", {"class": "c-events__team"})
print(containers01.get_text())
然后,我也试图找到机会,然后提取它。我想问你们,你们会建议我用什么格式提取数据,以便与其他赌注者进行比较。SQL?杰森?csv?
谢谢你提前阅读了这篇文章。
发布于 2018-04-07 03:51:59
我能够用这个代码收集每一行的团队和赔率。
from selenium import webdriver
from bs4 import BeautifulSoup
url = "https://1xbet.cm/en/live/Football/"
driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')
containers = soup.findAll("div", {"class": "c-events__item_col"})
for container in containers:
teams = [x.get_text() for x in container.findAll(
"span", {"class": "c-events__team"}
)]
odds = [x.attrs.get('data-coef') for x in container.findAll(
"a", {"class": "c-bets__bet"}
)]
print(teams)
print(odds)
print()
https://stackoverflow.com/questions/49706635
复制