分享好友 最新动态首页 最新动态分类 切换频道
作者开发的爬取妹子图片Python项目,值得你收藏拥有
2024-12-26 13:20

本项目的实现涉及模块有

作者开发的爬取妹子图片Python项目,值得你收藏拥有

 
 

爬取图片所在网站地址:https://www.xrmn03.cc/

项目完整代码所在giteehttps://gitee.com/shawn_chen_rtz/meizi_pic.git

欢迎关注,STAR

执行后生成的文件夹效果

日志信息,可以查看当前执行下载情况

 

以上是保存图片方法save_pic(),它接收三个参数direct, pic_src, pic_no,分别表示欲存储的目录、图片链接和图片编号(用作命名图片文件)。

首先拼接成图片完整链接pic_url,再判断图片是否已存在路径中,如果不存在,开始执行保存操作,通过requests模块发出请求,读取图片数据pic_binary = requests.get(url=pic_url).content,通过文件写操作写入到本地路径下,文件操作可以参考个人公众号(欢迎关注)文章Python:文本文件的读、写处理。在请求过程中,可能基于网络等原因,报错异常,所以放在了一个循环体中,并在循环体中用try...except...else异常处理机制handle错误。如果出错,会等待60秒后继续请求,一共20次重试机会,也就是循环次数range(20);如果成功,则会直接跳出后续循环请求。异常处理机制可以参考个人公众号文章Python:异常处理。

思路:观察该网站的图集展示逻辑,一套图集中是以多个分页组成的。

可以观察到每个分页链接的组成是有一定规律的,根据规律获取单套图集每个分页的链接后,循环请求分页链接,在循环体中增加从每个分页的响应结果中爬取出包含图片的超链接功能,结合第二章的save_pic()方法,把图片保存到本地。

代码实现

 

可以看到获取整套图方法get_full_album(album_address, title)接收两个参数,分别表示图集地址album_address和图集名称title。

首先,判断路径下是否已存在与图集名称同名的文件夹,如果不存在,通过os.mkdir(title)进行创建。循环遍历for album_page in range(100),album_page表示图集中的分页,获取每个分页的超链接​​​​​​​

 

用的格式是if分支语句的缩略写法。比如举个例子,大于0的数字是正数,相反则是非正数。正常写法是,​​​​​​​

 

​​​​​​​​​​​​​​简写格式则是,两种形式是等效的。

 

循环请求分页地址,循环体内请求分页链接,根据访问详情结果,用BeautifulSoup提取出所有的图片链接,循环图片数据,调用save_pic(title, pic, i)方法,下载至本地保存。

当然同保存图片方法一样,也使用了异常处理机制,增强代码运行的健壮性与稳定性。如果发生异常错误时,用for循环的方式增加重试/重新请求的机制。

代码实现,​​​​​​​

 

遍历图集分页,获取图集的链接

根据图集分页链接组成规律,获取链接,for循环for page in range(1, 24)控制下载的页数范围,当前是下载1到23页的所有图集的图集信息。

获取所有albums,循环albums,处理得到图集链接album_url,图集名称album_title,如果已存在同名文件夹,并且文件夹中的图片数量与图集名称中的图片数量一致时,略过该图集,并写入对应日志信息。如果不存在同名文件夹,或者文件夹中的图片数量与文件夹名称中的数量不一致,则调用第三章中的get_full_album(album_url, album_title)方法。

ok,到这里结束了,有任何问题请留言或关注作者公众号,与我交流~


最新文章
海南HTTP与HTTPS:两者的差异及其对SEO的影响
“诚,做人之本;信,为人之根,做个诚信的人是我们的根本。”在一春一夏,我们注重每一位客户提出的每个需求,我们充分考虑客户的每一个细节,我们一直在思考如何为客户创造更大的价值,意在让我们的每一位客户都成为我们的朋友...网
绍康集成灶售后服务点服务网点《今日汇总》 揭秘“复遥号”卫星:“数据+物理”双驱动 聚焦电离层智能化
绍康集成灶24小时维修热线:400-965-8692。绍康集成灶全市各区点热线号码。☎:400-965-8692绍康集成灶,秉承“诚信为本、客户至上”的态度和“以客户为中心”的指导思想,不仅真诚地为用户提供先进、高质量的系列产品,更为用户提供优质、
网络小说搜索引擎
今天给大家推荐一个小说网站owllookowllook - 网络小说搜索引擎 - 最简洁清新的搜索阅读体验网址:https://www.owllook.net/owllook并不是一个传统的小说网站而是一个网络小说搜索引擎看了网站截图你会发现它的页面非常简洁只有一个搜索框
python爬取微博热门消息(一)——效果展示
微博的热搜榜对于研究大众的流量有非常大的价值。 今天的教程就来说说如何爬取微博的热搜榜。 感兴趣的小伙伴可以 收藏 + 关注 哦!另外,关于本项目的效果展示,以及教程,点击一下链接即可。 下面,
[2024]9个最好用的WordPress备份插件
  网站备份的作用主要在于恢复数据,不管是 wordpress 网站还是别的网站,都需要定期备份,当你的网站的数据库或者网站结构遭到了人为的破坏或者其他因素的损坏,那你就可以利用自己备份好的网站来进行恢复。对应来说,有免费、付费的 Wo
置顶小程序内用户帐号登录规范调整和优化建议官方精选热门
为更好地保护用户隐私信息,优化用户体验,平台将会对小程序内的帐号登录功能进行规范。本公告所称“帐号登录功能”是指开发者在小程序内提供帐号登录功能,包括但不限于进行的手机号登录,getuserinfo形式登录、邮箱登录等形式。具体规范
沙威玛传奇 云手机多开挂机
《沙威玛传奇》是一款逼真的模拟烹饪游戏!沙威玛传奇云手机游戏软件可以大大提高您的挂机搬砖效率:多多云手机完全模拟真实手机环境,每一台专业云手机都是独立手机系统,允许用户在云手机里云玩各种游戏、应用app,24小时挂机托管,多开
联出党建“朋友圈” 共建异地温暖“家”
中共新蔡县栎城乡驻郑州市流动党员支部委员会在河南省社会保险中心设立,也是新蔡县栎城乡建立的第一个流动党支部,共有党员25名。中共新蔡县栎城乡驻郑州市流动党员党支部根据本乡在郑务工、经商人员的实际,提倡流动党员“共建共管”,鼓
www.jyeoo.com的百度排名情况
a href="https://baidurank.aizhan.com/" target="_blank"img src="https://baidurank.aizhan.com/api/mbr?domain=www.jyeoo.com&style=images" //aa href="https://baidurank.aizhan.com/" target="_blank"script type=&
随州市部分企业招聘信息(第二批)
疫情终将过去,春天就在眼前 招聘与求职的需求也变得日益迫切为了进一步做好劳动者就业和企业开复工用人保障工作,疫情防控期间,我市开展线上招聘服务。此次数家企业参与,凡有求职意愿的求职可拨打文章内企业预留电话进行咨询或扫描文章
相关文章
推荐文章
发表评论
0评