使用BeautifulSoup刮擦特定的表行

时间:2017-09-14 15:24:15

标签: python html selenium beautifulsoup

我尝试从我的base_url页面中刮取特定的行(图中标记为蓝色圆圈)。页面源代码在另一张图片中。

我的目标是获得那些< td>标签,但不知怎的,我无法用我的代码获取它们。

我的代码:

from bs4 import BeautifulSoup
from selenium import webdriver
import requests, csv, re, pandas, numpy

base_url = "http://www.basket.fi/sarjat/ottelu/?game_id=3502579&season_id=93783&league_id=4+"+"#mbt:2-400$t&0=1"
browser = webdriver.PhantomJS()
browser.get(base_url)
table = BeautifulSoup(browser.page_source, 'lxml')

for data in table.find_all("tr",{"class":"row2"}):
    print(data.find("td").text)

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

通常你可以按属性选择html元素,但对于这个文档,' class'属性不是很有用,因为还有很多其他的' tr'同一类中的标签。

在这种情况下,您可以使用列表索引来选择标签。

for td in table.find_all("tr", {"class":"row2"})[25].find_all('td')[1:]:
    print(td.get_text(strip=True))