python - 网页抓取时过滤掉标签的最佳方法?
问题描述
我正在使用 beautifulsoup 进行一些网页抓取,并想知道从我抓取的任何表条目中过滤掉 img 标签的最佳方法,因此在此代码片段中过滤 td.text 属性的结果将只返回有用的文本
<tr>
<td>
usefultext
<img src='imgsrc' alt='*'>
</td>
</tr>
解决方案
您可以创建汤,useful_text
一旦创建了汤,文档将解释,您可以通过选择上下树tags
,在这种情况下,我选择了td
标签,如果它有多个字符串,我将使用该get_text()
功能。
from bs4 import BeautifulSoup, SoupStrainer
html = '''<tr>
<td>
usefultext
<img src='imgsrc' alt='*'>
</td>
</tr>'''
useful_text = BeautifulSoup(html)
useful_text.td.get_text()
[out]:
'\n usefultext\n \n'
如果您有多个td
标签,那么您将需要使用该next_siblings
功能。
我强烈建议阅读文档并玩弄。
推荐阅读
- python - Reassignment of 'self' in a method: Python 3.8
- apache-flink - KeyBy vs GroupBy in Apache Flink
- wordpress - 将订单数据中的多个产品发送到 Google 表格只会发送第一个产品。为什么?
- css - 如何为与 id 相邻的内容创建选择器?
- applescript - 使用 AppleScript 进行区分大小写的搜索和替换
- pandas - 根据 padna 中的条件从一列中删除值
- deep-learning - Tesseract 4+ OCR 中 lstm 引擎的架构是什么?
- sql - 如何使用 VBA 和 SQL 从其他 Excel 中检索数据?
- flutter - 颤振检测导航器何时准备就绪
- java - BasicScrollBarUI 和 LAF 的问题