python - 控制台返回无 12 次。有 12 张图片。图像不能被刮掉吗?
问题描述
我正在尝试构建一个刮板以从该站点获取所有列表图像。我想出了如何将所有页面放入 .txt 文件中,但是在尝试使用此代码执行第一页时,控制台 12 次都没有吐出。不允许刮痧吗?
另外,在第一页被抓取后,我将如何从 .txt 文件中提取 URL 并从列表中删除。
除了最后一个有 2 个之外,每个页面上有 6585 个 URL 和 12 个列表。
import requests
from bs4 import BeautifulSoup
url = "https://irockdecals.com/shop-decals/?sort=bestselling&page=1"
sourceCode = requests.get(url)
plainText = sourceCode.text
soup = BeautifulSoup(plainText, "html.parser")
irock = (soup.find_all('div', class_="card-img-container"))
for img in irock:
soup.find_all("src")
bingo = img.get("src")
print(bingo)
解决方案
在遍历 div 元素时,您需要获取每个 div ('img') 中的图像,然后获取该图像元素的 'src'。
import requests
from bs4 import BeautifulSoup
url = "https://irockdecals.com/shop-decals/?sort=bestselling&page=1"
sourceCode = requests.get(url)
plainText = sourceCode.text
soup = BeautifulSoup(plainText, "html.parser")
irock = (soup.find_all('div', class_="card-img-container"))
for img in irock:
image_element = img.find("img")
bingo = image_element.get("src")
print(bingo)
推荐阅读
- android - 生命周期过程:导入依赖项时应用程序崩溃
- java - 如何在jmeter中为java采样器请求生成多个登录用户
- python - 如何使用 pytest 在 paramiko SSHClient() 中模拟“连接”
- mule - Mule 无法作为窗口服务启动
- visual-studio-code - VSCode:更改打印颜色()
- git - 如何在 git 中回滚并重新开始(保留历史记录和两者之间的合并)
- flutter - Flutter Reworked 问题:问题在带有按钮的小部件和带有倒数计时器的小部件之间共享状态
- php - 如何在奏鸣曲编辑表单中显示字段值?
- arrays - SwiftUI: List, ForEach, indices and .onDelete not working when using TextField() - (Index out of range)
- javascript - Rewrite condition to use only one console.log