刮不同的表相同的类与beautifulsoup,蟒蛇(scraping different tabl

2019-10-21 09:55发布

我试图提取物,用美丽的汤和蟒蛇,所有的赔率从本网站

http://www.sportstats.com/soccer/italy/serie-a-2013-2014/sampdoria-napoli-zZAT2c14/#odds/1X2/s3

他们在不同的表取决于至极类型做他们分开。

例如:在div ID下的第一个表=“betType_1_2”表示的“全时”类型1X2的可能性

我试图寻找所有类=“赔率”,但它也从其他表返回的赔率。 对如何提取,然后通过它的“div ID为”刮每次只有一个表的人的想法?如果我将能够搜索类=“赔率”,并获得我所需要的数据。 谢谢大家和抱歉,我的英语不好!

Answer 1:

您可以使用CSS selectors获取到所需的表行div

from bs4 import BeautifulSoup
import requests


url = "http://www.sportstats.com/soccer/italy/serie-a-2013-2014/sampdoria-napoli-zZAT2c14/?block=3"
soup = BeautifulSoup(requests.get(url).content)

id_ = "betType_1_2"
for item in soup.select('div#{id} table.oddsTable tr'.format(id=id_))[1:-1]:
    print [td.text for td in item('td')]

打印:

[u'bwin', u'3.20', u'3.75', u'2.05']
[u'FortunaWin', u'3.30', u'3.40', u'2.10']
[u'Unibet', u'3.45', u'3.50', u'2.10']
[u'Betclic', u'3.40', u'3.60', u'2.00']
[u'Expekt', u'3.40', u'3.60', u'2.00']
[u'Betsson', u'3.50', u'3.35', u'2.10']
[u'Betsafe', u'3.55', u'3.40', u'2.11']
[u'10Bet', u'3.40', u'3.45', u'2.10']
...


文章来源: scraping different table with same classes with beautifulsoup,python