Py学习  »  Python

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

python • 3 年前 • 224 次点击  

任务目标:

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, 这样在保存时会提示非法字符无法保存,程序也会报错,终止运行。

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

整体效果如下:

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

觉得不错,点个“在看”然后转发出去



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/72976
 
224 次点击