【问题标题】:BeautifulSoup, how can I get texts without class identifier?BeautifulSoup,如何获取没有类标识符的文本?
【发布时间】:2021-02-26 05:21:40
【问题描述】:
在抓取网站时,没有我想要提取的某些文本的类名或任何 id 样式来分隔包含该文本的部分。在我与 soup.select 一起使用的选择器路径中,它不适用于连续操作。举个例子,我想拿下面的数据,但是不知道怎么做。
ex.
【问题讨论】:
标签:
python
selenium
web-scraping
beautifulsoup
web-crawler
【解决方案1】:
只是猜测您可以获得表格,如果是这样并且您知道行,则可以执行以下操作。使用findAll 获取列表中的所有行并使用slice syntax 访问您的元素:
row = your_table_result.findAll('tr')[5::6]
问题更新后编辑
你用不同的方式解决你的问题,但首先要抢桌子:
table = soup.find("table",{"class":"auflistung"})
方式#1 - 您知道存储信息的行
(请注意,表格的结构可能会改变或可能不同)
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()