前一阵因为一个项目中的图片下载需求,用python3写了个爬取网页图片的工具,中间碰到了不少问题,例如不同网页的图片地址格式不同,存放位置也不尽相同,就很让人头疼,趟了不少雷还好都解决了,客户是IT小白,所以操作界面必须也得傻瓜式的简单易懂,吐槽一下wxpython开发界面真够原始的。
关于文本框组件的提示信息处理费了一番周折,文本框组件的名称为wx.TextCtrl,为了让客户能知道该文本框需要填写啥信息,需要在文本框中给出提示,鼠标点击进行编辑状态时该提示信息要消失,如果鼠标移走没有填写任何信息,也要恢复该提示信息,如果填写了信息,就不需要显示提示信息了。闲话少提,直捣黄龙,直接上代码。
self.keywordinput为文本框组件,self.keywordinput_hint为提示信息
- self.keywordinput.Bind(wx.EVT_SET_FOCUS, self.OnKeyWordInputGetFocus)
- self.keywordinput.Bind(wx.EVT_KILL_FOCUS, self.OnKeyWordInputLostFocus)
-
- # 获取焦点事件
- def OnKeyWordInputGetFocus(self, e):
- if self.keywordinput.GetValue()==self.keywordinput_hint:
- self.keywordinput.SetValue("")
- self.keywordinput.SetEditable(True)
- e.Skip()
-
- # 失去焦点事件
- def OnKeyWordInputLostFocus(self, e):
- if self.keywordinput.GetValue().strip()=="":
- self.keywordinput.SetValue(self.keywordinput_hint)
- self.keywordinput.SetEditable(False)
- e.Skip()
工具有如下特点:
1、支持百度图片、360图片、搜狗图片等知名图片网站的图片下载,可自动把图片搜索结果下载到本地计算机。
- imgsitelist = [imgsite_baidu,imgsite_360,imgsite_sogou,imgsite_nitu,imgsite_huitu]
- self.cbximgsite=wx.ComboBox(autopanel, -1, pos=(90, 120+bgnY), size=(150, -1),
- choices=imgsitelist, style=wx.CB_READONLY)
- self.cbximgsite.SetValue(imgsite_baidu)
- self.cbximgsite.SetToolTip("请选择图片网站")
2、支持用户指定的单个或多个网址页面图片下载,支持页面地址文件或图片地址文件的图片批量下载
- list1 = ["填写普通网址", "填写模板网址", "导入网址文件","导入图片网址文件"]
- self.radioboxgroup1 = wx.RadioBox(manpanel, -1, "步骤1:请填写或导入图片网页地址", (10,
- 80+bgnY), (280, 20), list1, 4, wx.RA_HORIZONTAL)
- list2, 3, wx.RA_SPECIFY_ROWS)
- self.radioboxgroup1.Bind(wx.EVT_RADIOBOX, self.PageKind_RadioBox_Click)
3、支持自定义图片存储目录,支持抓取过程查看已下载图,支持手工中断抓取
- wx.StaticText(commonpanel, -1, "步骤2:请填写图片存放目录名称", (20,220+bgnY),
- (250, -1))
- self.imgdirinput_hint='例如美女、汽车等'
- self.imgdirinput=wx.TextCtrl(commonpanel, value=self.imgdirinput_hint, pos=(20, 250+bgnY), size=(300, -1))
- self.imgdirinput.SetToolTip("图片存放目录的根目录默认为当前目录下的image文件夹")
感兴趣的同学可以下载体验,相关领域开发者欢迎在评论区留言交流。
下载地址:
http://www.tomsoftcent.com:8180/download/网页图片抓取大师.rar
把这个地址复制到浏览器地址栏中直接回车即可下载。
1、下载后解压缩到本地,双击refreshpage_get_page_image.exe即可启动本软件
2、选择各大图片网站或指定抓取网站
a、选择搜索引擎图片网站或知名图片网站
b、填写要下载网页的地址,从浏览器中直接粘贴过来即可;或者从网址文件直接导入,支持文本文件一个网址一行
3、填写存储图片文件夹名称,例如汽车、装修等等,可设置自动创建图片分类目录
4、点击“开始抓取”按钮即可,抓取过程中会显示日志
5、抓取过程中可以点击“打开图片目录”按钮查看已下载的图片