Python & BeautifulSoup:如何获取没有识别信息的子标签

问题描述 投票:0回答:1

我正在尝试获取具有类的

<div>
中没有识别信息的链接列表。

soup = BeautifulSoup(pageToScrape.text, "html.parser")
items = soup.findAll('div', attrs = {'class':'object'})

我遇到的问题是,在获得项目列表后,我没有找到一种方法(检查 BeautifulSoup 文档)来获取子标签。我尝试了几种不同的“解决方案”,例如

items = items.findAll('a')
items = items.select('.objects + div > a')
items = [tag['a'] for tag in soup.iselect(".objects")]

我感觉很困难。

python web-scraping beautifulsoup
1个回答
0
投票

您已经在某些方面走上了正确的道路,但您混合了一些东西。

直接通过

css selector
从您的
soup
获取列表/结果集:

soup.select('.objects + div > a')

或迭代您仍然创建的结果集:

items = soup.find_all('div', attrs = {'class':'object'})
[obj.find('a') for obj in items]

在较新的代码中,请避免使用旧语法

findAll()
而是使用
find_all()
select()
css selectors
- 有关更多信息,请花一分钟时间检查文档

© www.soinside.com 2019 - 2024. All rights reserved.