使用python进行网络抓取中的访问标题

时间:2020-04-24 09:38:23

标签: python html web-scraping

在使用beautifulsoup和python进行网络抓取时,我是一个初学者。在yt-videos的帮助下,我设法接近了我的目标,即提取汽车销售方面许多汽车列表的汽车名称。但是,我已走到最后一步,不知道如何访问汽车名称:

这是我的代码(我只是遵循youtube示例):

page_soup = soup(page_html, "html.parser")
containers = page_soup.findAll("div",{"class":"ads__unit__content"})
contain = containers[0]
container = containers[0]

当我执行时: container.h2.a

我获得:

梅赛德斯·奔驰E-klasse全地形E220d 4M全地形

如何仅获得“ Mercedes-Benz E-klasse All-Terrain E220d 4M All-Terrain”汽车名称的最后一步?

如果我这样做

container.h2.a["id"]

我获得“ 163525571”。但是汽车名称前面没有像id =这样的东西。

希望您能理解我的问题。我对Python非常陌生,对此了解也不多。

最诚挚的问候

2 个答案:

答案 0 :(得分:0)

如果您知道标签的确切位置,请尝试以下方法。希望对您有帮助。

container.h2.text

答案 1 :(得分:0)

要访问元素的文本,可以使用.text属性。这将返回该特定节点内的所有文本节点。

要访问特定孩子的文本,您可以像这样将其编入索引:

soup.find('div', {'class': 'ads__unit__content__keys'}).findAll('div')[2]

这将返回div的第3个子类中的文本,该子类具有ads__unit__content__keys类。

另外,欢迎来到SO:D