首页 > 解决方案 > 如何将 Beautiful Soup 4 Tag 对象转换为字符串?

问题描述

我对网络抓取很陌生,我正在使用 Beautiful Soup 4 解析 XML 文件。我想提取链接标签包含的 url 的字符串形式:<link> https://www。 whatiwant.com <链接>。

这是我到目前为止所做的:

bs_content = bs(content, "lxml") # content is an entire XML file in one string
bsUrlsList = bs_content.find_all("link")  # gets all urls, fills a list with bs4 tag objs

问题是当我遍历 bsUrlsList 并打印每个项目时,它会打印一个 [,] 列表,而不是链接的实际字符串版本。

for link in bsUrlsList:
  print(type(link)) # prints <class 'bs4.element.Tag'>

大问题:如何将 <class 'bs4.element.Tag'> 转换为字符串,以便最终获得从 XML 文件中提取的字符串 url 列表?

标签: xmlweb-scrapingbeautifulsoupcasting

解决方案


goal = list(soup.select("link").strings)

或者

goal = [x.text for x in soup.findAll("link")]

推荐阅读