批量获取图片(中)

简介: 批量获取图片(中)

1.图片标签

img是图片标签;alt是对图片标签的描述

2.获取网页内容

接下来,使用requests模块和BeautifulSoup模块请求并解析网页内容。


在新的网页内容前,我们需要导入requests模块,请求并查看状态码。


拿到网页源代码后,使用解析库BeautifulSoup对网页进行解析,提取网页节点内容。

3.复习之前的导入模块,传入User-Agent

4.单个网页图片的获取

通过对网页进行观察,我们发现图片的都是class="pic",利用这个属性找到图片

通过遍历,就拿到了每张图片的源代码,这里的每个URL都放在标签中。


5.

标签中提取

find()和find_all()的区别是,find()用于查找单个元素,返回字符串。


find_all()用于查找多个元素,返回一个列表,获取find_all()查找后的元素必须遍历,不然会报错。

打印结果

6.获得属性值

标签中的src和alt属性使用.attrs,就可以获取属性值。


例如获取图片标签中的图片描述就可以使用,attrs["alt"],获取图片标签中的链接就可以使用attrs["src"]。

7.获取图片并保存到本地

这个就代表成功了!!!!

8.完整代码

import requests
from bs4 import BeautifulSoup
url = "https://movie.douban.com/top250"
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}
response = requests.get(url, headers=headers)
html = response.text
soup = BeautifulSoup(html, "lxml")
content_all = soup.find_all(class_="pic")
l
for content in content_all:
    imgContent=content.find(name="img")
    imgName=imgContent.attrs["alt"]
    imgUrl = imgContent.attrs["src"]
    imgResponse = requests.get(imgUrl)
    img = imgResponse.content
    with open(f"D:\网络爬虫\patu\{imgName}.jpg", "wb") as f:
      
        f.write(img)
相关文章
|
安全
公网IP和私网IP
公网IP和私网IP
934 1
C#学习相关系列之多线程---TaskCompletionSource用法(八)
C#学习相关系列之多线程---TaskCompletionSource用法(八)
607 0
|
11月前
|
人工智能 并行计算 算法
LLM-04 大模型 15分钟 FineTuning 微调 ChatGLM3-6B(准备环境) 3090 24GB实战 需22GB显存 LoRA微调 P-TuningV2微调
LLM-04 大模型 15分钟 FineTuning 微调 ChatGLM3-6B(准备环境) 3090 24GB实战 需22GB显存 LoRA微调 P-TuningV2微调
296 0
|
12月前
|
JavaScript
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
这篇文章介绍了如何使用Ant Design Vue UI框架创建一个简单的后台管理模板,包括创建Vue项目、安装和使用ant-design-vue、以及编写后台管理通用页面的代码和样式。
Ant Design Vue UI框架的基础使用,及通用后台管理模板的小demo【简单】
|
JavaScript 前端开发 安全
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
JS 混淆解析:JS 压缩混淆原理、OB 混淆特性、OB 混淆JS、混淆突破实战
867 2
|
关系型数据库 MySQL Go
MySQL连接错误1045:完美解决指南
MySQL连接错误1045:完美解决指南
10929 0
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
494 0
|
JSON 前端开发 JavaScript
【amis低代码前端框架】vue2集成百度低代码前端框架amis
【amis低代码前端框架】vue2集成百度低代码前端框架amis
989 0
|
缓存 Docker 容器
【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效
【docker hub镜像源失效】2024年6月6日 docker 国内镜像源失效
|
Java 数据安全/隐私保护 Spring
SpringSecurity6从入门到实战之SpringSecurity快速入门
这篇文章是关于使用SpringSecurity 6进行快速入门的教程。首先介绍了所需的环境配置,包括SpringSecurity 6.0.8、SpringBoot 3.0.12和JDK 17。接着,通过步骤展示了如何创建一个新的SpringBoot工程,并添加Web支持。然后,运行工程并测试了Hello接口,确保其正常工作。之后,引入SpringSecurity依赖后,无需额外配置,系统即实现了基础的认证功能,自动重定向到登录页面。文章通过截图详细说明了这个过程,包括控制台日志、登录页面以及登录后的资源访问。