python - 我怎样才能让 BeautifulSoup 找到多个标签?
问题描述
我正在测试一个程序,用于将维基百科的内容打印到提示中。我已经得到了一些输出,但它有点乱。所以我想只获取标签的内容,<p>
这<b>
是维基百科用来显示内容的两个。这是我的代码:
import urllib.request
from bs4 import BeautifulSoup
URL = input("Enter the url (only wikipedia supported, default url https://?.wikipedia.org/wiki) : ")
page = urllib.request.urlopen(URL)
html_doc = page.read()
soup = BeautifulSoup(html_doc, 'html.parser')
for x in soup.find_all('p').find_all('b'):
print(x.string)
询问标记是因为维基百科在那里显示了语言,所以它取决于。如您所见,我又添加了一个 .find_all ,因为我不知道如何添加它。对不起我的英语不好和我的代码不好,因为我与这个请求字段不太相关。谢谢
解决方案
BeautifulSoup.find_all
返回 aResultSet
它本质上是一个元素列表。您需要自己遍历该列表以进行第二次操作。
import urllib.request
from bs4 import BeautifulSoup
URL = input("Enter the url (only wikipedia supported, default url https://?.wikipedia.org/wiki) : ")
page = urllib.request.urlopen(URL)
html_doc = page.read()
soup = BeautifulSoup(html_doc, 'html.parser')
for elem in soup.find_all('p'):
for x in elem.find_all('b'):
print(x.string)
推荐阅读
- python - 重复的键值违反了唯一约束 - 尝试从 dask 数据帧创建 sql 表时出现 postgres 错误
- javascript - 通过字符串属性值查找对象数组中最长的字符串
- java - 如何在 Java 中使用蛇 yaml 序列化具有自定义名称的字段
- python - 如何对数字后缀进行正则表达式?
- php - PHP:将 URL 路由到静态页面/资源
- sql - 如何在 pgAdmin4 中单独运行部分 SQL 查询?
- c# - 当 NUnit 运行多个程序集时,Assembly.GetExecutingAssembly 的意外位置
- mysql - MySQL 错误 1292:截断不正确的双精度值
- reactjs - 访问字段的状态 ID React
- javascript - 将 Google Maps API v3 搜索结果限制在某个国家/地区,同时将它们偏向某个位置