需要使用xpath和beautifulsoup从网站抓取数据

阿卜杜比

大家好

网站链接:点击这里

故事是他试图刮擦一个名为“ Open Bets”的表,但不幸的是该表没有类或ID,我使用beautifulsoup来废除该表,并且我使用了xpath来检测该表,但是如您在图片中所见,没有任何反应下图:点击查看图片

我试图从表中抓取数据,并检测名为“ Team A”和“ Team B”列的名称,这一点是我显示了这样的数据

print(Player1," vs ",Player2)
print("Odds ",odds)
print("Rate ",rate)
print("stake ",stake)

我想您会理解我在这里尝试做的事情,这是下表:单击以查看图片

我试图与该网站的管理员联系,以向代码源添加类或其他内容,但一无所获。

from lxml import html
import requests
page = requests.get('https://tipsters.asianbookie.com/index.cfm?player=Mitya68&ID=297754')
tree = html.fromstring(page.content)
ID = tree.xpath('/html/body/table[2]/tbody/tr/td[3]/table[7]')
print(ID)

这是我使用的代码,如果有人可以提供帮助,那将非常棒=)

谢谢。

苏希尔

一种简单的方法是使用pandas这是您的操作方式:

import pandas as pd
import requests

r = requests.get('https://tipsters.asianbookie.com/index.cfm?player=Mitya68&ID=297754&sortleague=1#playersopenbets&tz=5.5').text

dfs = pd.read_html(r)

df = dfs[141]

df.columns = df.iloc[0]

df = df.drop(0)

df['Bet Placed ≡'] = [value.split('.')[-1] for value in df['Bet Placed ≡']]

print(df)

输出:

0   Bet Placed ≡              Team A  ...   Rate         Pending Status
1    9 hours ago         Real Madrid  ...  1.975            pending ?-?
2    9 hours ago   Red Bull Salzburg  ...  1.875            pending ?-?
3    9 hours ago                Ajax  ...   2.00            pending ?-?
4    9 hours ago       Bayern Munich  ...   2.00            pending ?-?
5    9 hours ago       Bayern Munich  ...   1.85            pending ?-?
6    9 hours ago         Inter Milan  ...  1.875            pending ?-?
7    9 hours ago     Manchester City  ...   1.95            pending ?-?
8    9 hours ago         Midtjylland  ...  1.875            pending ?-?
9    9 hours ago  Olympiakos Piraeus  ...   1.95            pending ?-?
10   9 hours ago          Hamburg SV  ...  1.925            pending ?-?
11   9 hours ago         Vissel Kobe  ...  1.925   Lost(-25,000) FT 1-3
12   9 hours ago     Shonan Bellmare  ...  1.825   Won½(+10,313) FT 0-0
13   9 hours ago    Yokohama Marinos  ...  2.025   Won½(+12,812) FT 2-1
14   9 hours ago        RKC Waalwijk  ...  1.875            pending ?-?
15   9 hours ago            Espanyol  ...  2.075  lose(-25,000) 29' 1-0

[15 rows x 7 columns]

您还可以通过将以下行添加到代码中来将这些值作为单独的列表获取:

team_a = list(df['Team A'])
team_b = list(df['Team B'])
rate = list(df['Rate'])
stake = list(df['Stake'])

如果要以您提到的格式打印它们,请将这些行添加到代码中:

final_lst = zip(team_a,team_b,stake,rate)

for teamA,teamB,stakee,ratee in final_lst:
    print(f"{teamA} vs {teamB} - Stake: {stakee}, Rate: {ratee}")

输出:

Real Madrid vs Shaktar Donetsk - Stake: 25000.00, Rate: 1.975
Red Bull Salzburg vs Lokomotiv Moscow - Stake: 100000.00, Rate: 1.875
Ajax vs Liverpool - Stake: 25000.00, Rate: 2.00
Bayern Munich vs Atl. Madrid - Stake: 25000.00, Rate: 2.00
Bayern Munich vs Atl. Madrid - Stake: 25000.00, Rate: 1.85
Inter Milan vs Monchengladbach - Stake: 25000.00, Rate: 1.875
Manchester City vs Porto - Stake: 25000.00, Rate: 1.95
Midtjylland vs Atalanta - Stake: 100000.00, Rate: 1.875
Olympiakos Piraeus vs Marseille - Stake: 25000.00, Rate: 1.95
Hamburg SV vs Erzgebirge Aue - Stake: 100000.00, Rate: 1.925
Vissel Kobe vs Kashima Antlers - Stake: 25000.00, Rate: 1.925
Shonan Bellmare vs Sagan Tosu - Stake: 25000.00, Rate: 1.825
Yokohama Marinos vs Nagoya - Stake: 25000.00, Rate: 2.025
RKC Waalwijk vs PEC Zwolle - Stake: 25000.00, Rate: 1.875
Espanyol vs Mirandes - Stake: 25000.00, Rate: 2.075

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何抓取一个需要使用python和beautifulsoup登录的网站?

使用BeautifulSoup网站抓取IMDb页面

使用lxml和xpath抓取网站后出现数据类型问题

如何使用python和beautifulsoup4循环抓取网站中多个页面的数据

无法使用BeautifulSoup4抓取网站

使用BeautifulSoup抓取网站时阅读页码

使用BeautifulSoup抓取网站后缺少文本

如何使用Python,Requests和Xpath抓取网站?

如何抓取需要使用scrapy登录的网站?

使用BeautifulSoup抓取网站时显示符号

使用Selenium和BeautifulSoup输入内容来抓取网站?

需要使用python清理网页抓取的数据

使用python和beautifulsoup抓取多页网站

使用python和BeautifulSoup抓取数据时,Float的无效侧向

使用BeautifulSoup抓取特定网站

使用python 2.7和beautifulsoup 4进行网站抓取

使用 BeautifulSoup 从网站抓取数据的问题

无法使用beautifulsoup抓取日本网站

使用 BeautifulSoup 抓取数据

使用 Xpath 和 Selenium 抓取和保存数据的问题

使用 Beautiful Soup 和 Pandas 从网站上抓取数据

无法使用 BeautifulSoup 从网站上抓取所有数据

使用 python 抓取网站 - BeautifulSoup

使用 BeautifulSoup 或 Selenium 抓取网站时找不到数据

不使用beautifulsoup抓取网站数据

使用 Requests 和 Beautifulsoup 抓取数据

Beautifulsoup 数据抓取从网站收集号码

如何使用 Python 和 BeautifulSoup 从 html 表中抓取数据?

使用 BeautifulSoup 和 Selenium 抓取数据