python-3.x - 从具有特定属性的 img 标签中提取 data-src 值
问题描述
我正在编写 python 代码以从具有某些属性的某些 img 标记中提取 data-src 的值。我正在使用类属性,但它具有不同的值。
这是我从中提取的两个样本。
<img class="img-fluid lazy" data-src="https://d1bng4dn08r9r5.cloudfront.net/contents/cover-1588341903.png"
alt="Happy 1st day of the month"
src="https://www.simrankaurapp.com/img/icons/default-img.png" />
<img class="img-fluid lazy blur-img image5ea68b9463389011485bf592"
data-src="https://d1bng4dn08r9r5.cloudfront.net/contents/cover-1587973008.jpg"
alt="Everyday is more than just tongue-out tuesday"
src="https://www.simrankaurapp.com/img/icons/default-img.png" />
这是我的代码
elements = soup.findAll('img',{'class', 'img-fluid lazy'})
for element in elements:
print(element['data-src'])
我想在 txt 文件中获取两个 url,但无法这样做。页面也有无限滚动,如果页面我想到达底部。
解决方案
当前代码与确切的类匹配,但第二个图像标签有其他类。
所以你可以尝试使用正则表达式来匹配它,希望它有所帮助。
import re
soup.find_all('img', {'class': re.compile('^img-fluid lazy.*')})
您可以在此处找到更多信息: 使用 Beautiful Soup 在跨度中查找部分类名
推荐阅读
- r - 填写网页表格,提交和下载结果
- php - 将 SQL 查询更改为带条件的预准备语句
- tensorflow - Tensorflow c++ windows bazel build在读取扩展文件时出错
- c# - UNITY3D 将数组中的精灵样式应用于精灵 /////// 错误 CS1061:“Sprite”不包含“sprite”的定义
- node.js - Windows 批处理文件更改第二个命令的位置
- dictionary - 使用多个变量引用 Lua 字典中的子子子字段
- flutter - 在父窗口小部件中访问子窗口小部件的变量(Flutter with Dart)
- ios - 为什么 UINavigationBarAppearance 有一个 init(idiom:) 初始化程序?
- android - Android 双向数据绑定仅以一种方式工作
- r - R Data.Table - 按 ROW 应用/移位处理(保留或动态移位处理)