在BeautifulSoup中获取HTML <a>标签的文本

时间:2019-08-03 21:10:41

标签: python beautifulsoup

我有一个脚本,可以使用BeautifulSoup查找某个类的所有信息,我想获取标记的文本。

我的意思是:

<a href="/weather">Weather</a> 

在显示天气的href后面获取文本。

这些标签中的每个标签都位于我使用

获取的div中
blank = soup.findAll(attrs={"blank"})

我将返回整个班级。

我尝试使用.decode_contents(),但是:

我希望对每个元素执行该操作,并且根据我看到的.decode_contents,您需要在列表中指定要对其执行的元素。

它仍然返回整个类和<a>元素,而不仅仅是我想要的“天气”。

我如何只在<a>标记中找到文本并将其返回到控制台?

2 个答案:

答案 0 :(得分:0)

blank = soup.find_all('a')
blank.attrs['href']

这将返回一个列表(空白),其中包含所有已解析的html数据中所有<a>标记中存在的所有内部文本。

用于打印数据:

for blank in soup.find_all("a"):
    print("Inner Text: {}".format(blank.text))

答案 1 :(得分:0)

您可以将css选择器用于特定元素。

for item in soup.select('a[href*="weather"]'):
  print(item.text)