Python笔记(一):安装+爬虫环境配置+打包为EXE文件

1、     安装

https://www.python.org/downloads/windows/ 到官网下载安装程序

Windows x86        32位操作系统

Windows x86-64       64位操作系统

web-based installer     基于网络的安装程序

executable installer     可执行的安装程序

embeddable zip file     python的压缩包

上面3个任意下载一个就行了,都是一样的东西。我是下载第2个

help file  帮助文档

安装时记得勾上 ADD…to path。

安装成功后在命令提示符中输入 PYTHON,如图显示版本号就是安装成功,不是可执行命令的话,在系统变量path 中加上PYTHON的安装路径

PYTHON比较重要的几个环境变量(不是必须,根据需要配置):

PYTHONPATH

PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。

PYTHONSTARTUP

Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此变量指定的文件中的代码。

PYTHONCASEOK

加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写.

PYTHONHOME

另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。

2、     爬虫环境配置

说明:Pip模块会自动安装,可以在命令提示符窗口输入PIP测试是否安装成功。(直接执行PIP报错的话,可以CD 到PYTHON安装目录的Scripts文件夹下执行,或者直接执行 python -m pip)

确定pip安装好后,执行以下命令

1、pip install beautifulsoup4 

2、到https://pypi.python.org/pypi/lxml/4.1.1    下载lxml库,记得下载适合自己操作系统和PYTHON版本的,比如我就是下载Windows64位+PYTHON3.6的

3、然后执行这个命令    pip install lxml的文件名及路径(例如:d:\xx.whl)

4、安装成功会提示 Successfully installed

3、     将脚本打包为EXE文件

(一)环境配置

1、 执行pip install pypiwin32

2、 执行 pip install pyinstaller

第二步如果安装不成功可以到http://www.pyinstaller.org/downloads.html下载安装包,然后执行

Python 解压后文件路径\setup.py install

(二)将源文件打包为EXE文件

pyinstaller -F -w 文件名及路径,成功后会提示存放位置。

-F:打包为单独的Exe文件 -w:不显示命令窗口

4、简单的爬虫程序和一个简单的GUI界面

import urllib
import re
from urllib import  request
import  tkinter as tk

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    imgre = re.compile(r'src="(.+?\.jpg)"')
    html = html.decode('utf-8')  # python3
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl,'%s.jpg' % x)
        x+=1
def start(url):
     html = getHtml(url)
     print(getImg(html))

x = tk.Tk()
label1 = tk.Label(x,text = "请输入网址:")
label1.grid(row=0,column=0)
label2 = tk.Label(x,text = "请输入文件存放路径:")
label2.grid(row=1,column=0)
var1 = tk.StringVar()
entry1 = tk.Entry(x,textvariable=var1)
entry1.grid(row=0,column=1)
entry2 = tk.Entry(x)
entry2.grid(row=1,column = 1)
def seturl():
      url="https://tieba.baidu.com/p/5475267611"
      # 本来想动态获取文本框输入的,不知道为什么WINDOWS10上运行返回值是NONE,
      # 另一台电脑WIN7却又可以,不知道是不是环境配置问题
      # print(var1.get())
      start(url)
cbbtn1 = tk.Checkbutton(x,text = "同意协议")
cbbtn1.grid(row = 2, column = 0)

btn1 = tk.Button(x,text = "开始抓取",command = seturl)
btn1.grid(row = 2,column = 2)
btn2 = tk.Button(x,text = "取消")
btn2.grid(row = 2,column = 3)

#img = tk.PhotoImage(file = "C:\Users\123456\Pictures\lovewallpaper\11.jpg")
#imgview = tk.Label(x,image = img)
#imgview.grid(row = 0,column = 2)
x.mainloop()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Vue ssr

vue填坑记录:serverCacheKey缓存

服务器端渲染时,缓存是一个逃不开的优化点,降低node server 负载,提高QPS。

4733
来自专栏跟着阿笨一起玩NET

ASP.NET 防盗链的实现[HttpHandler]

本文转载:http://www.cnblogs.com/eflylab/archive/2008/06/16/1223373.html

1812
来自专栏FreeBuf

WordPress曝未经授权的密码重置漏洞(CVE-2017-8295 )

漏洞提交者:Dawid Golunski 漏洞编号:CVE-2017-8295 发布日期:2017-05-03 修订版本:1.0 漏洞危害:中/高 I. 漏洞 ...

21010
来自专栏BIT泽清

React Native应用部署/马甲包热更新-CodePush最新集成总结(2018年最新)

React Native支持大家用React Native技术开发APP,并打包生成一个APP。在动态更新方面React Native只是提供了动态更新的基础,...

2980
来自专栏老马寒门IT

08Vue.js快速入门-Vue综合实战项目

8.1. 前置知识学习 npm 学习 官方文档 推荐资料 npm入门 npm介绍 需要了解的知识点 package.json 文件相关配置选项 ...

4087
来自专栏云计算教程系列

CentOS 7如何设置uWSGI和Nginx提供Python应用服务

在本指南中,我们将设置一个由uWSGI提供服务的简单WSGI应用程序。我们将使用Nginx Web服务器作为应用程序服务器的反向代理,以提供强大的连接处理。我们...

1964
来自专栏黑泽君的专栏

通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件

1、在MyEclipse中,Java视图下,新建一个普通的java project,新建该项目的目的是:用来接收反转引擎生成的实体类和对应的映射文件。

1442
来自专栏Android自学

android studio如何修改包名

3373
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

React Native应用部署/热更新-CodePush最新集成总结(新)

React Native应用部署/热更新-CodePush最新集成总结(新) ---- 更新说明: 此次博文更新适配了最新版的CodePush v1.17....

7216
来自专栏程序员同行者

ssh升级

2021

扫码关注云+社区

领取腾讯云代金券