BeautifulSoup,如何获取没有 class 标识符的文本?
BeautifulSoup, how can I get texts without class identifier?
在抓取网站时,没有 class 我想提取的某些文本的名称或任何 id 样式来分隔包含该文本的部分。在我使用 soup.select 的选择器路径中,它不适用于连续操作。举个例子,我想取下面的数据,但是不知道怎么取。
ex.
只是猜测您可以获得 table,如果是这样并且您知道该行,则可以执行以下操作。使用 findAll
获取列表中的所有行并使用 slice syntax
访问您的元素:
row = your_table_result.findAll('tr')[5::6]
问题更新后编辑
你用不同的方法解决你的问题,但首先抓住 table:
table = soup.find("table",{"class":"auflistung"})
方式 #1 - 您知道存储信息的行
(请注意 table 的结构可能会改变或可能不同)
rows = table.findAll('td')
name = rows[0].text.strip()
position = rows[6].text.strip()
方式#2 - 你知道信息标题
(效果很好,因为只有一列)
name = table.find("th", text="Anavatandaki isim:").find_next_sibling("td").text.strip()
position = table.find("th", text="Mevki:").find_next_sibling("td").text.strip()
在抓取网站时,没有 class 我想提取的某些文本的名称或任何 id 样式来分隔包含该文本的部分。在我使用 soup.select 的选择器路径中,它不适用于连续操作。举个例子,我想取下面的数据,但是不知道怎么取。
ex.
只是猜测您可以获得 table,如果是这样并且您知道该行,则可以执行以下操作。使用 findAll
获取列表中的所有行并使用 slice syntax
访问您的元素:
row = your_table_result.findAll('tr')[5::6]
问题更新后编辑
你用不同的方法解决你的问题,但首先抓住 table:
table = soup.find("table",{"class":"auflistung"})
方式 #1 - 您知道存储信息的行 (请注意 table 的结构可能会改变或可能不同)
rows = table.findAll('td')
name = rows[0].text.strip()
position = rows[6].text.strip()
方式#2 - 你知道信息标题 (效果很好,因为只有一列)
name = table.find("th", text="Anavatandaki isim:").find_next_sibling("td").text.strip()
position = table.find("th", text="Mevki:").find_next_sibling("td").text.strip()