xml - 如何将 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 列表?
解决方案
goal = list(soup.select("link").strings)
或者
goal = [x.text for x in soup.findAll("link")]
推荐阅读
- reactjs - 当数据是对象数组时重命名 Grid.js dataTable 中的列标题(Svelte)
- api - 回调 API 到 URL
- uwsgi - 使用 uwsgi 时没有名为“编码”的模块
- reactjs - `getDerivedStateFromProps` 没有更新状态
- gupshup - 有没有办法从流程构建器进行 http 调用?
- java - 最大汉明距离
- reactjs - 是否可以从 Messenger Webview 打开相机
- javascript - 将 rawurldecode 捕获到变量 php 中
- html - 如何垂直居中对齐 div 内的多个内联 div?
- python - “在 'InputForm' 中找不到键 'current'。选择是:。” 在 Django 表单中