- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 BeautifulSoup 抓取页面,其一般格式如下:
<span class="ID1"> TEXT </span>
<span class="ID2"> TEXT2 </span>
这些都存储在 <div>
中,所以我的通用代码模板如下所示:
for tag in soup.find_all('div'):
print tag.find('span')
这会拉起所有 <span>
div
中的标签,但我不知道如何在 <span>s
内部搜索。我尝试过类似 tag.find('class')
,和.find('ID')
,但没有运气。
我可以通过获取对象的字符串表示形式来手动找到我正在寻找的东西,然后测试它是否具有我正在寻找的 ID,但这似乎是一种创可贴方法。我确信有些东西我只是没有看到。
注意:我还尝试将 ID 的正则表达式传递给 find
功能ala:
for tag in soup.find_all('div'):
print tag.find(re.compile('id2'))
不幸的是仍然没有运气。
那么,如何搜索特定的类值?
我想出了如何通过 BeautifulSoup 的内置 find
来做到这一点函数无需手动检查其字典结构。
要使用find
函数来挑选一个特定的 class=value
在 html 标签内,传入您想要查找的通用标签名称作为第一个参数(在我的例子中,它是 '' 标签的一部分)。作为第二个参数,传入具有特定 'class' : 'value'
的字典。你想找到。
例如,如果我想要抓取的 HTML 如下所示:
<div>
<span class="ID1"> TEXT </span>
<other HTML junk>
<span class="ID2"> TEXT2 </span>
</div>
我可以使用如下的语句。
for tag_elm in soup.find_all('div'):
print tag_elm.find('span', {'class' : 'ID2'})
田田!
最佳答案
这应该有效:
for tag in soup.findAll('span'):
if tag.has_key('class'):
if tag['class'] == 'ID2':
# do stuff
测试了这段代码:
from BeautifulSoup import BeautifulSoup
text = '''
<span class="ID1"> TEXT </span>
<span class="ID2"> TEXT2 </span>
'''
soup = BeautifulSoup(text)
for tag in soup.findAll('span'):
if tag.has_key('class'):
if tag['class'] == 'ID2':
print tag.string
break
给出以下输出:
TEXT2
关于python - 如何使用 Beautiful soup 在 <span> 标签中搜索特定的 "class=id"类型属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943087/
我注意到一个非常烦人的错误:BeautifulSoup4(包:bs4)经常发现比以前版本(包:BeautifulSoup)更少的标签。 这是该问题的一个可重现的实例: import requests
我正在尝试从具有我所知道的特定ID的表中获取数据。 由于某种原因,该代码不断给我“无”结果。 我正在尝试从HTML代码中解析: שווי שוק (אלפי ש"ח)
我正在尝试从包含以下 HTML 的网站中提取价格: $ 29.99 我正在使用以下 Beautiful Soup 代码: book_prices = soup_pack
我做了一个网络爬虫,它从一个文本文件中获取数千个 Urls,然后爬取该网页上的数据。 现在它有很多网址;一些网址也被破坏了。 所以它给了我错误: Traceback (most recent call
我正在尝试加载 html 页面并输出文本,即使我正确获取网页,BeautifulSoup 以某种方式破坏了编码。 来源: # -*- coding: utf-8 -*- import requests
目录 beautiful soup库的安装 beautiful soup库的理解 beautiful soup库的引用 BeautifulSoup类
Beautiful Soup就是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。它有如下三个特点: Beautiful Soup提供一些简单的、Python式的
题目地址:https://leetcode.com/problems/beautiful-arrangement/description/ 题目描述 Suppose you have N inte
题目地址:https://leetcode.com/problems/beautiful-array/description/ 题目描述 Forsome fixed N, an array A i
您好,我正在尝试从网站获取一些信息。请原谅我,如果我的格式有任何错误,这是我第一次发布到 SO。 soup.find('div', {"class":"stars"}) 从这里我收到 我需要 “
我想从 Google Arts & Culture 检索信息使用 BeautifulSoup。我检查了许多 stackoverflow 帖子( [1] , [2] , [3] , [4] , [5]
我决定学习 Python,因为我现在有更多时间(由于大流行)并且一直在自学 Python。 我试图从一个网站上刮取税率,几乎可以获得我需要的一切。下面是来自我的 Soup 变量以及相关 Python
我正在使用 beautifulsoup 从页面中获取所有链接。我的代码是: import requests from bs4 import BeautifulSoup url = 'http://ww
我正在使用react-beautiful-dnd版本8.0.5(最新)并尝试渲染可重组列表,但我不断收到此错误: Warning: React.createElement: type is inval
我在将组件放入应用程序的下一个列表区域时遇到困难。我可以在父列中完美地拖放和排序,但无法将组件放在其他地方。这是我的 onDragEnd 函数中的代码: onDragEnd = result =>
发生的情况是,当我在一列中有多个项目并尝试拖动其中一个时,只显示一个项目,并且根据发现的经验教训 here我应该处于可以移动同一列内的项目但不能移动的位置。在 React 开发工具中,state 和
我正在尝试根据部分属性值来识别 html 文档中的标签。 例如,如果我有一个 Beautifulsoup 对象: import bs4 as BeautifulSoup r = requests.ge
Показать телефон 如何在 Beautiful Soup 中找到上述元素? 我尝试了以下方法,但没有奏效: show = soup.find('div', {'class': 'acti
我如何获得结果网址:https://www.sec.gov/Archives/edgar/data/1633917/000163391718000094/0001633917-18-000094-in
我是 python 新手,尝试从页面中提取表格,但无法使用 BS4 找到该表格。你能告诉我我哪里出错了吗? import requests from bs4 import BeautifulSoup
我是一名优秀的程序员,十分优秀!