python tk combobox设置值为空_python爬虫:做一个界面爬虫小软件

上一篇介绍了如何抓取一个图片网站下的mz,这里我们继续丰富上述内容

文章较长,深夜时可以边听音乐边阅读 (*^▽^*)

任务目标:

1. 抓取不同类型的图片

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

3. 遇到的难点

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

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

6492dbe1ccbc91625748c806e8b83d29.png

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

大胸妹:https://www.buxiuse.com/?cid=2

小翘臀:https://www.buxiuse.com/?cid=6

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

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

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

具体代码在下面给出

2. 利用tkinter进行GUI编程

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

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

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

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

1. 选择图片存储路径

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

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

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

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

#coding:UTF-8from tkinter import *from tkinter.filedialog import askdirectorydef select_path():    path_ = askdirectory()    path.set(path_)root = Tk()path = StringVar()Label(root,text = "目标路径:").grid(row = 0, column = 0)Entry(root, textvariable = path).grid(row = 0, column = 1)Button(root, text = "路径选择", command = select_path).grid(row = 0, column = 2)root.mainloop()
效果如下

10623a749fc8a412667b7d860223c98f.gif

具体到这个例子,

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

self.input = tk.Entry(self.window, textvariable = self.path, width=80)  # 创建一个输入框,显示图片存放路径

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

 self.t_button = tk.Button(self.window, text='选择路径', relief=tk.RAISED, width=8, height=1, command=self.select_Path)

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

def select_Path(self):    """选取本地路径"""    path_ = askdirectory()    self.path.set(path_)

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

2. 选择分类

因为图片分为了6个类别,每个类别对应一个cid值,所以可以事先把cid抽象出来,当作参数传递 (1)定义一个下拉框,存储图片类型
self.menu['value'] = ('大胸妹','小翘臀', '黑丝袜', '美腿控', '有颜值','大杂烩')
(2)根据所选类型不同,返回不同的cid值
def get_cid(self):    category = {
            'DX':  2,        'XQT': 6,        'HSW': 7,        'MTK': 3,        'YYZ': 4,        'DZH': 5    }    cid = None    if self.menu.get() == "大胸妹":        cid = category["DX"]    elif self.menu.get() == "小翘臀":        cid = category["XQT&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值