python爬虫淘宝图片+GUI+打包成exe

参考:勿在浮沙筑高台

一、操作工具

     pycharm+Anaconda2(python2.7)

    cmd输入python可以看到python版本号,若输出错误。在环境变量PATH中加分号  ;   添加Anaconda中python.exe所在路径我所在的目录  D:\Anaconda;D:\Anaconda\Scrips


    再次cmd输入python查看quit()退出。


     py2exe选择对应版本:py2exe

二、代码

1、创建Getimg.py

import re
import urllib           #网页操作模块
#获取网页内容
def getHtml(url):
    page=urllib.urlopen(url)  #打开网址
    html=page.read()          #读取网页中的内容并存储在html
    return html


#获取图片
def getImg(html):
    reg=r'//[\w]*\.?alicdn\.com[^"\']+\.jpg' #网页内容筛选
    imgre=re.compile(reg)
    imglist=re.findall(imgre,html)           #找到匹配待输入网页内容存储在imglist
    print(len(imglist))
    x=1
    for imgurl in imglist:
        print(imgurl)
        imgurl='https:'+imgurl
#urlretrieve方法将url定位到的html文件下载到你本地的硬盘中。如果不指定filename,则会存为临时文件。urlretrieve()返回一个二元组(filename,mine_hdrs)
 urllib.urlretrieve(imgurl,'%s.jpg'%x)
x+=1
#下载图片
def DownLoadImg(url):
    html=getHtml(url)
    getImg(html)

输入网址测试是否正确

2、界面设计

from Tkinter import *  # Tk会调用操作系统提供的本地GUI接口 完成最终的GUI
import tkMessageBox as mb


# 从Frame派生一个Application类,这是所有Widget的父容器:
class Application(Frame):
    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack(fill=X, padx=100)
        self.createWidgets()

    def createWidgets(self):
        self.nameInput = Entry(self)
        self.nameInput.pack(fill=X, pady=10)
        self.nameInput.pack(fill=X, padx=5)
        self.alertButton = Button(self, text=(' 请输入网址 '), command=self.FUN)
        self.alertButton.pack(fill=X, padx=30)
        self.alertButton.pack(fill=X, pady=10)

    def FUN(self):
        name = self.nameInput.get() or 'blank'
        if name == 'blank':
            mb.showinfo('Message', '网址不合法!')
        else:
            DownLoadImg(name)
            mb.showinfo('Message', '下载成功并保存!')


app = Application()  # 实例化Application
app.master.title('淘宝网页图片爬取')  # 对话框标题
app.mainloop()  # 主消息循环

3、创建convert.py

import py2exe

from distutils.core import setup
setup(windows=[{"script": "Getimg.py"}])

4、生成exe打包文件

安装py2exe  选择默认环境       D:\Anaconda\Lib\site-packages
输入:
python convert.py py2exe 
 

 

   

显示以上内容即可生成两个文件夹,在dist文件下找到Getimg.exe 应用文件,点击打开输入淘宝网址即可在该文件下下载网页中的jpg图片。

 

三、总结

1、电脑上安装了Anaconda2(python2.7.13)和Anaconda3(python3.6.1)两个版本由于python3版本所对应py2exe软件不匹配,难找,所以选择版本2的。

2、由python3改过来的代码主要是安装包名字不同以及所调用的成员函数不同,其他几乎一致。

3、改写代码以及调试过程中遇到各种问题,在网上有的搜不到,都不想弄了,但想想连个小问题都解决不了,那还是别当程序猿。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HySmiley

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值