网页抓取表格,找不到源代码



所以我要刮擦此网站:http://www.basket.ee/et/meistriliiga/1/ajakava-ja-ja-tulemused/?gid=2017001101,我无法从第二个表获取数据。第一支队的统计数据在源代码中,但第二支队的统计数据不在。

如果我右键单击并在浏览器中观看源代码,那么我可以看到两个团队的表

我为您做了演示,您可以屈服于此:

import requests, bs4
r = requests.get('http://www.basket.ee/et/meistriliiga/1/ajakava-ja-tulemused/?gid=2017001101')
soup = bs4.BeautifulSoup(r.text, 'lxml')
tables = soup.find_all('table', class_='basket_table')[1:]
for table in tables:
    for tr in table('tr', attrs=False):
        row = [cell.text for cell in tr(['td', 'th'])]
        print(row)

out:

['Nr.', 'Mängija', 'Pos.', 'Min', '2p', '3p', '1p', 'KL', 'RL', 'L', 'RS', 'VL', 'BL', 'PK', 'V', 'VM', 'PNK', 'PIR']
['4', 'Paiste, Mario *', '2', '31:53', '4/7', '2/6', '1/3', '2', '1', '3', '2', '1', '0', '3', '4', '4', '15', '9']
['5', 'Post, Siim-Markus *', '1', '23:32', '1/2', '1/5', '2/5', '2', '0', '2', '2', '1', '0', '3', '5', '5', '7', '1']
['6', 'Metsalu, Oliver *', '3', '30:46', '2/7', '0/1', '0/0', '3', '2', '5', '3', '1', '0', '3', '5', '0', '4', '-1']

很难帮助您无需任何代码调试代码; - )

但是,我猜您要么使用查找方法,该方法仅返回第一匹匹配,要么在选择器中有错误。

快速查看该网站表明,如果您使用find_all并在" basket_table"类上选择三张桌子的列表,后两个是您正在查看的。

在此处查看指令如何通过CSS类搜索。

希望它有帮助

最新更新