python爬虫淘宝图片+GUI+打包成exe
来源:互联网 发布:腾讯微信域名检测 编辑:程序博客网 时间:2024/05/20 08:25
参考:勿在浮沙筑高台
一、操作工具
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 reimport 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接口 完成最终的GUIimport 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() # 实例化Applicationapp.master.title('淘宝网页图片爬取') # 对话框标题app.mainloop() # 主消息循环
3、创建convert.py
import py2exefrom distutils.core import setupsetup(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、改写代码以及调试过程中遇到各种问题,在网上有的搜不到,都不想弄了,但想想连个小问题都解决不了,那还是别当程序猿。
阅读全文
0 0
- python爬虫淘宝图片+GUI+打包成exe
- 简单python爬虫淘宝图片+界面编程+打包成exe
- 简单python爬虫淘宝图片+界面编程+打包成exe
- python打包成exe
- Python 打包成 EXE
- python打包成exe
- Python打包成exe
- python 打包成EXE
- python打包成exe
- Python打包成exe
- Python打包成exe
- 打包python 成exe
- python 打包成exe
- GUI程序打包成exe--笔记
- Python程序打包成exe
- pyinstaller打包python成exe
- python程序打包成exe
- 关于python打包成exe
- 学习日记之多线程
- Layout Element Content Size Fitter Aspect Ratio Fitter
- 解决Zend Guard Loader的配置失败问题
- MyBatis的传入参数parameterType类型
- ENet-caffe源码的windows迁移
- python爬虫淘宝图片+GUI+打包成exe
- hdoj 1465
- Python之“可变”的tuple
- Java Collections(1)
- JavaScript获取/更改文本框的值的实例代码
- 人力资源分析应用-人员结构分析
- java类的加载顺序
- 【PSO】离散粒子群算法(DPSO)和离散二进制粒子群算法(BPSO )
- IOS基础--@private|@protected| @public|@package