前一阵因为一个项目中的图片下载需求,用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:8180/download/网页图片抓取大师.rar

把这个地址复制到浏览器地址栏中直接回车即可下载。

 1、下载后解压缩到本地,双击refreshpage_get_page_image.exe即可启动本软件

2、选择各大图片网站或指定抓取网站

a、选择搜索引擎图片网站或知名图片网站

 b、填写要下载网页的地址,从浏览器中直接粘贴过来即可;或者从网址文件直接导入,支持文本文件一个网址一行

 3、填写存储图片文件夹名称,例如汽车、装修等等,可设置自动创建图片分类目录

 4、点击“开始抓取”按钮即可,抓取过程中会显示日志

 5、抓取过程中可以点击“打开图片目录”按钮查看已下载的图片


 

更多推荐

抓取网页图片项目的一些感悟