Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在网上刮运动队投注线?_Javascript_Python_Selenium_Web Scraping_Beautifulsoup - Fatal编程技术网

Javascript 如何在网上刮运动队投注线?

Javascript 如何在网上刮运动队投注线?,javascript,python,selenium,web-scraping,beautifulsoup,Javascript,Python,Selenium,Web Scraping,Beautifulsoup,是否可以使用Selenium和BeautifulSoup对该网站进行web清理 https://www.betonline.ag/sportsbook/basketball/nba 我是全新的网页抓取,并没有以前的经验编码。以下是我试图击败nba球队的尝试: #import modules from bs4 import BeautifulSoup import requests, os import pandas as pd from selenium import webdriver

是否可以使用Selenium和BeautifulSoup对该网站进行web清理

https://www.betonline.ag/sportsbook/basketball/nba
我是全新的网页抓取,并没有以前的经验编码。以下是我试图击败nba球队的尝试:

#import modules

from bs4 import BeautifulSoup
import requests, os
import pandas as pd
from selenium import webdriver

os.chdir('C:\webdrivers')

#enter your user-agent
header = {'User-agent' : 'your user-agent'}
options = webdriver.ChromeOptions(); options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.betonline.ag/sportsbook/basketball/nba')

#scrape data

soup = BeautifulSoup(driver.page_source, 'html.parser')
driver.quit()


#parse data (Teams)

team = [i.text for i in soup.find_all('td', {'class': 'col_teamname bdevtt'})]

print(team)
上面的代码成功地抓取了我想要的团队

我现在想刮博彩信息:a)差价,b)资金线,c)总积分和d)开始时间

a) 传播:

-9½
需要信息:-9.5

b) 货币额度:

<td class="odds bdevtt moneylineodds displayOdds" cfg="{'a':-500,'d':1.2}">-500</td>
-500
需要信息:-500

c) 总分:

<td class="hdcp bdevtt ">212½</td>
212½
需要资料:212.5

d) 开始时间:

<td rowspan="3" class="col_time bdevtt">09:05 PM</td>
09:05下午
需要信息:晚上9:05

我注意到这4个项目的数据位于td类中。我尝试了类似上面的代码,但没有成功。不确定这是否是因为代码是JavaScript。如果是这样的话,是否仍然可以使用BS4和Selenium提取代码


如有任何建议,将不胜感激。谢谢你的时间

尝试以下代码以获取所需值:

for tr in soup.find_all('tr', {'class': 'firstline'}):
    print(tr.find('td', {'class': 'col_teamname'}).text)
    print(tr.find('td', {'class': 'hdcp'}).text)
    print(tr.find('td', {'class': 'moneylineodds'}).text)
    print(tr.find('td', {'class': 'col_time'}).text)

我发现有两个单元格的类为
hdcp
,因此要得到
“212½”
,您可以尝试将
print(tr.find('td',{'class':'hdcp').text)
替换为
print(tr.find_all('td',{'class':'hdcp')[1]。text)
谢谢您,先生@Andersson!我感谢你的评论。我会花一些时间来研究这个。
for tr in soup.find_all('tr', {'class': 'firstline'}):
    print(tr.find('td', {'class': 'col_teamname'}).text)
    print(tr.find('td', {'class': 'hdcp'}).text)
    print(tr.find('td', {'class': 'moneylineodds'}).text)
    print(tr.find('td', {'class': 'col_time'}).text)