Python爬虫实战-批量爬取美女图片网下载图片

大家好,我是python222小锋老师。

近日锋哥又卷了一波Python实战课程-批量爬取美女图片网下载图片,主要是巩固下Python爬虫基础

视频版教程:

Python爬虫实战-批量爬取美女图片网下载图片 视频教程_哔哩哔哩_bilibiliPython爬虫实战-批量爬取美女图片网下载图片 视频教程作者:小锋老师官网:www.python222.com本课程旨在让大家在网站Python爬虫的基础上,实战巩固Python爬虫技术后期会继续推出进阶,高级课程,敬请期待。, 视频播放量 354、弹幕量 1、点赞数 20、投硬币枚数 8、收藏人数 21、转发人数 5, 视频作者 java1234官方, 作者简介 公众号:java1234 微信:java9266,相关视频:Python爬虫实战-批量爬取下载网易云音乐,爬虫学得好!牢饭吃到饱...全网最全爬虫JS逆向案例!企业级爬虫逆向实战(逆向各种加密、参数、验证码、滑块、算法)建议立刻收藏!,2024 一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium 【无废话版】,Gateway微服务网关视频教程(无废话版),Nacos视频教程(无废话版),打造前后端分离 权限系统 基于SpringBoot2+SpringSecurity+Vue3.2+Element Plus 视频教程 (火爆连载更新中..),2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...,微信小程序(java后端无废话版)视频教程,Java8 Lambda表达式视频教程(无废话版),Docker快速手上视频教程(无废话版)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1ue411X7JU/

爬虫目标网站:

https://pic.netbian.com/4kmeinv/

经过分析,第二页,第二页的规律是:

https://pic.netbian.com/4kmeinv/index_N.html

复杂问题简单化:先爬取首页,然后再进行多页爬虫代码的实现。

通过开发者工具分析

img的路径是 ul.clearfix li a img

爬虫三步骤,

1,根据请求url地址获取网页源码,用requests库

2,通过bs4解析源码获取需要的数据

3,通过数据处理我们的资源,我们这里是通过图片路径下载到本地

所以我们实现首页图片下载的源码参考如下:具体代码分析,可以学习下帖子开头的视频教程

"""爬取目标:https://pic.netbian.com/ 彼岸图网首页地址:https://pic.netbian.com/4kmeinv/第N页https://pic.netbian.com/4kmeinv/index_N.htmlhttps://pic.netbian.com/uploads/allimg/231101/012250-16987729706d69.jpg作者:小锋老师官网:www.python222.com
"""
import os.pathimport requests
from bs4 import BeautifulSoupurl = "https://pic.netbian.com/4kmeinv/"headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}# 请求网页
response = requests.get(url=url, headers=headers)
response.encoding = "gbk"
# print(response.text)# 实例化soup
soup = BeautifulSoup(response.text, "lxml")
# 获取所有图片
img_list = soup.select("ul.clearfix li a img")
print(img_list)def download_img(src):"""下载图片:param src: 图片路径:return:"""# 获取图片名称filename = os.path.basename(src)print(filename)# 下载图片try:with open(f"./img/{filename}", "wb") as file:file.write(requests.get("https://pic.netbian.com" + src).content)except:print(src, "下载异常")for img in img_list:print(img["src"])download_img(img["src"])

运行代码,一页数据20个。

实现多页的下载的话,我们肯定需要通过遍历所有url,然后实现批次下载;那么对于抓取网页,和解析网页,我们需要进行封装,那才方便调用。

def crawl_html(url):"""解析网页:param url: 请求地址:return: 解析后的网页源码"""# 请求网页response = requests.get(url=url, headers=headers)response.encoding = "gbk"return response.text

def parse_html(html):# 实例化soupsoup = BeautifulSoup(html, "lxml")# 获取所有图片img_list = soup.select("ul.clearfix li a img")print(img_list)for img in img_list:print(img["src"])download_img(img["src"])

完整源码参考:具体代码分析,可以学习下帖子开头的视频教程

"""爬取目标:https://pic.netbian.com/ 彼岸图网首页地址:https://pic.netbian.com/4kmeinv/第N页https://pic.netbian.com/4kmeinv/index_N.htmlhttps://pic.netbian.com/uploads/allimg/231101/012250-16987729706d69.jpg作者:小锋老师官网:www.python222.com
"""
import os.pathimport requests
from bs4 import BeautifulSoupheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}def crawl_html(url):"""解析网页:param url: 请求地址:return: 解析后的网页源码"""# 请求网页response = requests.get(url=url, headers=headers)response.encoding = "gbk"return response.textdef download_img(src):"""下载图片:param src: 图片路径:return:"""# 获取图片名称filename = os.path.basename(src)print(filename)# 下载图片try:with open(f"./img/{filename}", "wb") as file:file.write(requests.get("https://pic.netbian.com" + src).content)except:print(src, "下载异常")def parse_html(html):# 实例化soupsoup = BeautifulSoup(html, "lxml")# 获取所有图片img_list = soup.select("ul.clearfix li a img")print(img_list)for img in img_list:print(img["src"])download_img(img["src"])# # 第一页
# url = "https://pic.netbian.com/4kmeinv/"
# parse_html(crawl_html(url))
# # 第二页到第七页
# for i in range(2, 8):
#     parse_html(crawl_html(f"https://pic.netbian.com/4kmeinv/index_{i}.html"))urls = ["https://pic.netbian.com/4kmeinv/"] + [f"https://pic.netbian.com/4kmeinv/index_{i}.html"for i in range(2, 8)
]
print(urls)
for url in urls:parse_html(crawl_html(url))

运行下载,正好7页的图片,140个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/168342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络第4章-通用转发和SDN

引子: 在前面,我们将基于目的地转发的特征总结为两个步骤: 查找目的IP地址(匹配),然后将分组发送到有特定输出端口的交换结构(“动作”)。 但是这种转发特征会带来许多问题&#…

【JavaEE初阶】 TCP协议详细解析

文章目录 🌲TCP协议的概念🚩TCP协议段格式🚩TCP的特性 🌳TCP原理🚩确认应答机制(安全机制)🚩超时重传机制(安全机制)🚩三次握手四次挥手&#xff…

YOLOv4: Optimal Speed and Accuracy of Object Detection(2020.4)

文章目录 AbstractIntroductionRelated workObject detection modelsBag of freebiesBag of specials MethodologySelection of architectureSelection of BoF and BoSAdditional improvementsYOLOv4 ExperimentsResults表8列出了使用Maxwell GPU的帧率对比结果表9列出了使用Pa…

Android 图层列表 、 LayerDrawable 、 layer-list \ 改变 seekbar thumb 滑块 的颜色

android 官网 &#xff1a; 图层列表 LayerDrawable / layer-list LayerDrawable 是管理其他可绘制对象数组的可绘制对象。列表中的每个可绘制对象均按照列表顺序绘制。列表中的最后一个可绘制对象绘于顶部。 每个可绘制对象均由单个 <layer-list> 元素内的 <item>…

财税服务展示预约小程序的作用是什么

财税财政往往困扰着很多公司&#xff0c;尤其是公司里没有相应职员或工作压力大的情况下&#xff0c;不少商家就会寻找代理记账、审计服务、会计代理等服务的机构。 对财政服务代理机构&#xff08;会计公司&#xff09;来说&#xff0c;市场企业多而广&#xff0c;理论上来说…

酷柚易汛ERP-客户管理操作指南

1、应用场景 对客户信息进行管理&#xff0c;可新增客户、设置客户等级、联系人信息、银行账户和销售人员等信息&#xff0c;方便开单时自动匹配销售信息。 2、主要操作 2.1 新增客户 打开【资料】-【客户管理】&#xff0c;点击【新增】。 在页面输入客户信息、联系人地址…

105.am40刷机(linux)折腾记1-前期的准备工作1

前段时间在某鱼上逛的时候&#xff0c;发现一款3399的盒子只要150大洋&#xff0c;内心就开始澎拜&#xff0c;一激动就下手了3台&#xff0c;花了450大洋&#xff08;现在想想&#xff0c;心都碎了一地&#xff09;。 然后自己又来来回回折腾了几天&#xff0c;目前能跑上fire…

【Python 千题 —— 基础篇】菜品的价格

题目描述 题目描述 食堂今天准备了很多好吃的菜。“beef” 12 元一份&#xff1b;“rice” 1 元一份&#xff1b;“fish” 8 元一份&#xff1b;其它菜品 5 元一份。请你根据输入的字符串&#xff0c;使用 if-elif-else 语句判断该菜品需要花费多少钱。 输入描述 输入一个菜…

flink1.18.0 sql-client报错

报错 Flink SQL> select * from t1; [ERROR] Could not execute SQL statement. Reason: org.apache.flink.table.api.ValidationException: Could not find any factory for identifier kafka that implements org.apache.flink.table.factories.DynamicTableFactory in t…

小白学爬虫:通过关键词搜索1688商品列表数据接口|1688商品列表数据接口|1688商品列表数据采集|1688API接口

通过关键词搜索1688商品列表数据接口可以使用1688开放平台提供的API接口实现。以下是使用关键词搜索商品列表数据的基本步骤&#xff1a; 1、注册并获取AppKey。 2、构造请求参数&#xff0c;包括搜索关键词、页码、每页条数等。 3、通过API接口链接&#xff0c;将请求参数发送…

数据的属性与数据集,相似度,数据的质量,OLAP

数据的属性与数据集&#xff1a; 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sq…

制造企业如何做好进销存管理工作?

本文你将了解&#xff1a;什么是进销存管理系统&#xff1f;国内制造信息化的发展现状如何&#xff1f;进销存管理系统的功能有哪些&#xff1f; 接下来搭建进销存管理系统教学中用到的图片和系统都来自简道云的进销存管理系统 这也是我们公司目前正在用的进销存管理系统&…