当前位置: 欣欣网 > 码农

Python爬虫:爬取男生喜欢的图片

2024-05-23码农

点击上方 " Python人工智能技术 " 关注, 星标或者置顶

22点24分准时推送,第一时间送达

后台回复「 大礼包 」,送你特别福利

编辑:乐乐 | 来自:网络

上一篇:

正文

大家好,我是Python人工智能技术

任务目标:

1.抓取不同类型的图片

2.编写一个GUI界面爬虫程序,打包成exe重新文件

3.遇到的难点

1.分析如何抓取不同类型的图片

首先打开网站,可以看到有如下6个类型的菜单


在这里插入图片描述

点击不同菜单,发现URL显示如下

大胸妹:https:/cid = 2

小翘臀:https:/cid = 6

可以看到每个类型图片对应不同的cid值

所以要想抓取不同类型的图片,只需要构造下url

将cid进行参数化,然后传给url即可

具体代码在以下定义

2.利用tkinter进行GUI编程

之前有写过一些tkinter编程的随笔

例如 利用python制作一个翻译工具

先来看一下这次设计的程序最终页面布局,

然后再具体讲下如何实现的,页面布局如下:


选择图片存储路径

抓取到的图片要保存到电脑本地,所以就想着最好能够自己挑选本地任意一个文件夹作为存储路径

后来网上冲浪一番发现tkinter是可以实现这个功能的

可以通过tkinter.filedialog模块中的askdirectory()方法实现

下面是在网上找到的一段示例代码

具体到这个例子,

(1)定义一个文本框,用来存放(显示)选择的存储路径

(2)定一个按钮,来触发选择本地路径功能

(3)定义一个函数,来实现选取路径功能

后续保存图片时,路径可以直接使用前面定义好的的self.input中的值

选择分类

因为图片分为了6个类别,每个类别对应一个cid值,所以可以预先把cid抽象出来,视为参数传递 (1)定义一个拖动框,存储图片类型。另外,搜索公众号程序员小乐后台回复「赚钱」,获取一份惊喜礼包。

(2)根据选择性类型不同,返回不同的cid值

3.填写爬取页数


在这里插入图片描述

自定义抓取深度,某些抓取前5页或者前10页

后面把这个文本文本的值传给url即可

3.遇到的问题

下载图片的名称无效,导致无法保存

有些图片没有名称,文件名就是.jpg, 这样在保存时会提示非法字符无法保存,程序也会报错,终止运行。

为了解决这个问题,我在每个文件名的末尾都加一个字母,这样就不会存在无名称图片了

整体效果如下:

你还有什 么想要补充的吗?

免责声明:本文内容来源于网络,文章版权归原作者所有,意在传播相关技术知识&行业趋势,供大家学习交流,若涉及作品版权问题,请联系删除或授权事宜。

技术君个人微信

添加技术君个人微信即送一份惊喜大礼包

→ 技术资料共享

→ 技术交流社群

--END--

往日热文:

Python程序员深度学习的「四大名著」:

这四本书着实很不错!我们都知道现在机器学习、深度学习的资料太多了,面对海量资源,往往陷入到「无从下手」的困惑出境。而且并非所有的书籍都是优质资源,浪费大量的时间是得不偿失的。给大家推荐这几本好书并做简单介绍。

获得方式:

1.扫码关注本公众号

2.后台回复关键词:名著

▲长按扫描关注,回复名著即可获取