Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在BS4中使用findAll创建列表

在BS4中使用findAll创建列表
EN

Stack Overflow用户
提问于 2017-07-31 08:25:44
回答 1查看 6.1K关注 0票数 2

我首先要说的是,我对Python比较陌生。我最近一直在开发一个Slack机器人,这就是我到目前为止的进展。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source = requests.get(url).content
soup = BeautifulSoup(source, 'html.parser')
price = soup.findAll("a", {"class":"pricing"})["quantity"]

这是我想要抓取的HTML代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a class="pricing" saleprice="240.00" quantity="1" added="2017-01-01"> S </a>
<a class="pricing" saleprice="21.00" quantity="5" added="2017-03-14"> M </a>
<a class="pricing" saleprice="139.00" quantity="19" added="2017-06-21"> L </a>

当我只使用soup.find()时,我能够找到第一个量值,但是我需要在一个列表中包含所有的量值。我考虑过使用一个不同的库,比如lxml,而不是bs4,但也没有任何成功的机会。任何帮助都非常感谢,因为我已经在这上面花了很长时间了。

EN

回答 1

Stack Overflow用户

发布于 2017-07-31 08:39:54

findAll方法返回一个bs4 Tag元素列表,因此不能直接选择属性。但是,您可以使用简单的列表理解从该迭代表中的项中选择属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
price = [a.get("quantity") for a in soup.findAll("a", {"class":"pricing"})] 

请注意,在访问属性时最好使用get,因为如果键在attrs字典中不存在,它将返回None (或者您可以设置默认值)。

正如Jon Clements所指出的,如果你不想你的列表中有数量项,你可以通过“None”和“quantity”进行过滤,以防某些项没有“quantity”属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
price = [a["quantity"] for a in soup.find_all("a", {"class":"pricing", "quantity":True})] 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45410774

复制
相关文章
探秘Java:用ByteBuddy编写一个简单的Agent
  在之前的博客当中我们了解了Java Agent的一些基本概念和如何编写一个简单的Java Agent,但是在之前的博客中所使用的Agent编写方法还是相对原始和繁琐的。在原先的逻辑中我们是使用Instrument直接进行二进制码操作和修改,这种方式要求使用者对Java class文件格式的相关知识能够了然于胸,简单来说就是需要做到人肉翻译二进制文件这样一个非人操作。为了进一步简化编写Java Agent的复杂度,这里我们要介绍下面这样一款字节码处理利器——ByteBuddy。
闲宇非鱼
2022/02/08
2.5K0
探秘Java:用ByteBuddy编写一个简单的Agent
Java中检索联系人中有没有今天生日的
查询crm_linkman表中,birthday(数据库中为date类型)字段中,月日为5-31的记录(主要用于检索今天有没有联系人生日)
Java架构师必看
2021/05/17
4400
Java中检索联系人中有没有今天生日的
快速学习-Skywalking原理
上文中我们知道,要使用Skywalking去监控服务,需要在其 VM 参数中添加 “- javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar"。这里就 使用到了java agent技术。
cwl_java
2020/08/10
2.8K0
快速学习-Skywalking原理
java agent使用与agent内存马
本质是一个jar包中的类,有两种实现,第一种是通过permain()函数实现。这种javaagent会在宿主程序的main函数的启动前启动自己premain函数,这时候会得到一个Instrumentation对象,我们可以通过Instrumentation对象对还未加载的class进行拦截与修改。
红队蓝军
2022/04/13
1.3K0
java agent使用与agent内存马
java agent使用与agent内存马
本质是一个jar包中的类,有两种实现,第一种是通过permain()函数实现。这种javaagent会在宿主程序的main函数的启动前启动自己premain函数,这时候会得到一个Instrumentation对象,我们可以通过Instrumentation对象对还未加载的class进行拦截与修改。
红队蓝军
2022/05/17
1.2K0
java agent使用与agent内存马
Java中对象数组的使用
对象数组其实和Java的数组类似的,所以要很清楚Java的数组是如何使用的,如果有不懂的可以点下面这个链接Java数组的使用
Gorit
2021/12/09
7K0
Java中对象数组的使用
CAPTAIN HOOK - 如何(不)寻找 JAVA 应用程序中的漏洞
寻找 Java 应用程序漏洞的好时机!在过去的几个月里,我一直在尝试构建一个名为Captain Hook的工具,它使用动态方法来查找大型闭源 Java 应用程序的一些有趣(安全方面)特性。在此过程中,我尝试了许多仪器工具和技术,但很难找到满足我所有需求的工具和技术。在本文中,我将总结通过我的许多(一些失败,一些成功)尝试所学到的东西。
Khan安全团队
2022/01/21
8310
java运行时创建或修改类-JavaAgent
在运维监控系统开发过程中我们往往需要在特定的方法出入口进行记录日志、采集参数,甚至在特定场景下需要对方法的出入参数或者整个方法逻辑进行重写。目前市面上开源的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking,大都是参考Google的Dapper实现的。个人在项目中主要使用skywallking,在java、golang等多语言中有过实践,所以这里主要记录自己在java项目中使用skywallking的一些心得和笔记。
lelezc
2023/09/21
6460
Agent 与对象的辨析
如果说对象是70年代以来软件界最激动人心的革新之一,那么,Agent的相关理论和技术,为分布式开放系统的设计与实现提供了新的途径,可以称之为软件开发的又一重大突破。讨论问题的前提是概念的澄清,什么是对象?什么是Agent ?二者又有哪些区别和联系呢?
半吊子全栈工匠
2022/12/03
6280
Agent 与对象的辨析
Java 类和对象,如何定义Java中的类,如何使用Java中的对象,变量
6.类与对象方法,属性的联系和区别:类是一个抽象的概念,仅仅是模板,比如:“手机”对象是一个你能够看得到,摸得着的具体实体
用户7886150
2021/01/31
6.9K0
一次 ES-APM 导致的大量线程阻塞问题排查
前段时间我们接入了 ELK 公司出品的 Elastic-APM 作为全链路监控平台,终结了我好几年前撸的字节码注入全链路监控平台。前段时间有一个业务在启动过程中,会概率性出现大量线程阻塞,导致可对外提供服务的 HTTP 线程非常少,流量进来以后马上出现 HTTP 线程耗尽,健康检查接口请求失败,服务被 k8s 杀死。
挖坑的张师傅
2022/05/13
9190
一次 ES-APM 导致的大量线程阻塞问题排查
Android中Activity/Service获取调用者的信息(FIDO UAF Client获取调用者的信息)
实现UAF协议的时候,Client需要获取调用者的信息(获得其APK的签名)。用中文查了半天没查到获取Activity的方法,用英文一下就搜出来了(主要还是看英文累脑子)
sickworm
2019/02/27
6.3K0
054. SkyWalking
1. APM系统 ---- 1.1. APM系统概述 APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低 IT 总拥有成本。 APM系统是可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。 1.2. 分布式链路追踪 随着分布式系统和微
山海散人
2021/03/03
1.9K0
054. SkyWalking
链路追踪 SkyWalking 源码分析 —— Agent 插件体系
本文涉及到的类主要在 org.skywalking.apm.agent.core.plugin 包里,如下图所示 :
芋道源码
2019/10/29
2.6K0
skywalking源码分析之javaAgent工具ByteBuddy的应用
关于skywalking请看我上一篇博文,其使用javaAgent技术,使得应用接入监控0耦合。今天在分析skywaking过程中,对javaAgent技术有了更深入的了解。skywalking使用的javaAgent工具ByteBuddy是一个比ASM更上层的针对java字节码操作的封装,基于ByteBuddy,我们可以快速方便的对java字节码进行增强处理,更高效的开发javaAgent应用。
kl博主
2018/04/13
3.2K0
skywalking源码分析之javaAgent工具ByteBuddy的应用
java中page的对象,page对象[通俗易懂]
page对象是JSP九大内置对象之一。JSP全称JavaServerPage,是一种动态网页技术标准,以Java语言作为脚本语言。在JSP中预先定义了九个内置对象,这个九个内置对象不需要声明就可以在脚本代码和表达式中任意使用,九个内置对象分别是:request、response、session、application、out、pageContext、config、page、exception。
全栈程序员站长
2022/09/18
2.4K0
java中page的对象,page对象[通俗易懂]
初到武汉,向你敬礼-salute|顺便解决个SkyWalking问题
上周六我正津津有味的看着「拆弹专家2」,刘德华扮演的“潘乘风”从片头的正义,凌然,到失去一条腿之后的厌世,愤恨,到后来的失忆,直到最后的自我救赎,真的很刺激啊,可是这个时候电话响了「出差武汉」,好吧,看完剩下的影片,吃个饭,回家开始订酒店,订机票,收拾行李,第二天出发武汉
狼王编程
2021/06/01
9800
java agent简介
在生成jar包中MANIFEST.MF文件中需要有Premain-Class: xxx.xxx ,xxx.xxx就是上面premain方法所在的类名
冬夜先生
2021/09/06
9000
Java Agent 简介
Java Agent 这个技术出现在 JDK1.5 之后,对于大多数人来说都比较陌生,但是多多少少又接触过,实际上,我们平时用的很多工具,都是基于 Java Agent 实现的,例如常见的热部署 JRebel,各种线上诊断工具(Btrace, Greys),还有阿里开源的 Arthas。
JMCui
2020/03/26
9750
java agent开发
这里在src/main/resources/META-INF/下创建一个MANIFEST.MF文件,指定Agent class和版本相关信息。注意最后一行需要一个空行,否则idea会报错。
IT云清
2021/12/06
9940
java agent开发

相似问题

使用ByteBuddy在Java对象上动态注入字段

13

有没有办法知道调用者的类名?

60

有没有办法改变Apps脚本的User-Agent?

19

有没有办法像调用者所说的那样获取被调用者中的函数参数?

220

使用ByteBuddy计算方法中对象的代理

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文