精华内容
下载资源
问答
  • 爬虫微课5小时 Python学习路线

    万人学习 2018-07-10 13:28:05
    Python爬虫技术视频教程,该课程每堂课都有一个作业,包含的项目案例有家长帮142600条数据爬取与分析,全球天气数据抓取与分析,淘宝商品信息数据众数分析,12306余票查询,python软件打包exe与发布。学完此课程能让...
  • Python 基础(一):入门必备知识

    万次阅读 多人点赞 2019-10-29 19:39:54
    Python 入门必备知识,你都掌握了吗?

    1 标识符

    标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。

    以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 导入;双下划线开头的标识符,如:__xx,表示私有成员;双下划线开头和结尾的标识符,如:__xx__,表示 Python 中内置标识,如:__init__() 表示类的构造函数。

    2 关键字

    andexecnotassertfinallyor
    breakforpassclassfromprint
    continueglobalraisedefifreturn
    delimporttryelifinwhile
    elseiswithexceptlambdayield

    上面表中是 Python 中的关键字(保留字),我们在自定义标识符时不能使用关键字。

    3 引号

    Python 可以使用引号(')、双引号(")、三引号('''""")来表示字符串,引号的开始与结束须类型相同,三引号可以由多行组成。如下所示:

    id = '001'
    
    name = "张三"
    
    skill = '''
    唱歌
    跳舞'''
    
    skill = """
    唱歌
    跳舞"""
    

    4 编码

    Python2 中默认编码为 ASCII,假如内容为汉字,不指定编码便不能正确的输出及读取,比如我们想要指定编码为 UTF-8,Python 中通过在开头加入 # -*- coding: UTF-8 -*- 进行指定。

    Python3 中默认编码为 UTF-8,因此在使用 Python3 时,我们通常不需指定编码。

    5 输入输出

    Python 输出使用 print(),内容加在括号中即可。如下所示:

    print('Hello Python')
    

    Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里。如下所示:

    name = input()
    print('Hi',name)
    

    6 缩进

    Python 不使用 {} 来控制类、函数、逻辑判断等,而是使用缩进,缩进的空格可变。如下所示:

    if True:
        print(True)
    else:
        print(False)
    

    7 多行

    Python 中一般以新行作为语句的结束标识,可以使用 \ 将一行语句分为多行显示。如下所示:

    a = 128
    b = 1024
    c = 512
    d = a + \
        b - \
        c
    

    如果包含在 []{}() 括号中,则不需要使用 \。如下所示:

    arr = {
        a,
        b,
        c
    }
    

    8 注释

    Python 中单行注释使用 #,多行注释使用三个单引号(''')或三个双引号(""")。如下所示:

    # 我是单行注释
    
    '''
    我是多行注释
    我是多行注释
    '''
    
    """
    我是多行注释
    我是多行注释
    """
    

    9 数据类型

    • 整数:可以为任意大小、包含负数

    • 浮点数:就是小数

    • 字符串:以单引号 '、双引号"、三引号 '''"""括起来的文本

    • 布尔:只有 TrueFalse 两种值

    • 空值:用 None 表示

    • 变量:是可变的

    • 常量:不可变

    10 运算符

    10.1 常用运算符

    运算符描述示例
    +相加a + b
    -相减a - b
    *相乘a * b
    /相除a / b
    %取模a % b
    **a**b 表示 a 的 b 次幂
    //取整除9 // 4 结果为 2
    ==是否相等a == b
    !=是否不等于a != b
    >是否大于a > b
    >=是否大于等于a >= b
    <=是否小于等于a <= b
    =简单的赋值运算符a = b + c
    +=加法赋值运算符a += b 等效于 a = a + b
    -=减法赋值运算符a -= b 等效于 a = a - b
    *=乘法赋值运算符a *= b 等效于 a = a * b
    /=除法赋值运算符a /= b 等效于 a = a / b
    %=取模赋值运算符a %= b 等效于 a = a % b
    **=幂赋值运算符a **= b 等效于 a = a ** b
    //=取整除赋值运算符a //= b 等效于 a = a // b
    &a & b
    |a | b
    ^异或a ^ b
    ~取反~a
    <<左移动a << 3
    >>右移动a >> 3
    and布尔类型与a and b
    or布尔类型或a or b
    not布尔类型非not a
    is判断两个标识符是否引用同一个对象a is b
    is not判断两个标识符是否引用不同对象a is not b

    10.2 运算符优先级

    运算符描述(由上至下对应优先级由高到低)
    **幂运算
    ~ + -取反、正号、负号
    * / % //乘、除、取模、取整除
    + -加法、减法
    >> <<右移、左移
    &
    ^ |异或、或
    <= < > >=比较运算符
    == !=是否等于、是否不等于
    = %= /= //= -= += *= **=赋值运算符
    is is not身份运算符
    in not in成员运算符
    not and or逻辑运算符

    基础

    Python 基础(二):基本语句
    Python 基础(三):我是一个数字
    Python 基础(四):字符串
    Python 基础(五):序列
    Python 基础(六):列表与元组
    Python 基础(七):字典与集合
    Python 基础(八):与时间相关的模块
    Python 基础(九):函数
    Python 基础(十):模块与包
    Python 基础(十一):面向对象
    Python 基础(十二):文件基本操作
    Python 基础(十三):os 模块
    Python 基础(十四):错误和异常
    Python 基础(十五):枚举
    Python 基础(十六):迭代器与生成器
    Python 基础(十七):装饰器
    Python 基础(十八):命名空间 & 作用域
    Python 基础(十九):数学相关模块
    Python 基础(二十):sys 模块
    Python 基础(二十一):argparse 模块
    Python 基础(二十二):正则表达式

    进阶

    Python 进阶(一):多线程
    Python 进阶(二):多进程
    Python 进阶(三):邮件的发送与收取
    Python 进阶(四):数据库操作之 MySQL
    Python 进阶(五):数据库操作之 SQLite
    Python 进阶(六): Excel 基本操作
    Python 进阶(七): Word 基本操作
    Python 进阶(八):XML 基本操作
    Python 进阶(九):JSON 基本操作
    Python 进阶(十):网络编程

    爬虫

    Python 爬虫(一):爬虫伪装
    Python 爬虫(二):Requests库
    Python 爬虫(三):BeautifulSoup库
    Python 爬虫(四):Selenium 框架
    Python 爬虫(五):PyQuery 框架
    Python 爬虫(六):Scrapy 爬取景区信息
    Python 爬虫(七):pyspider 使用
    Python 爬取知乎问答
    Python 爬取公众号文章
    Python 爬取 B 站《后浪》弹幕
    Python 爬取爱奇艺《民国奇探》弹幕
    用Python爬取英雄联盟(lol)全部皮肤
    Python 爬取豆瓣《南方车站的聚会》评论
    用Python爬取了三大相亲软件评论区,结果…
    爬取林丹和赵雅淇的微博评论,看看网友都说了些什么

    自动化

    Word 批量转 PDF
    Python 批量合并 Excel
    自动化神器!Python 批量读取身份证信息写入 Excel
    Python + Appium 自动化操作微信入门看这一篇就够了
    我用 Python 找出了删除我微信的所有人并将他们自动化删除了
    用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了
    用Python实现微信自动化抢红包,再也不用担心抢不到红包了

    数据分析

    Python 数据分析(一):NumPy 基础知识
    Python 数据分析(二):Matplotlib 绘图
    Python 数据分析(三):初识 Pandas
    Python 数据分析(四):Pandas 进阶
    Python 分析《龙岭迷窟》
    Python 绘制各种疫情图
    用 Python 分析电影《我和我的家乡》

    小游戏

    俄罗斯方块
    贪吃蛇
    坦克大战
    飞机大战
    开心消消乐

    趣味 Python

    当 Python 遇到微信
    我用 Python 把老板辞退了
    用 Python 写个七夕表白神器
    用 Python 实现微信自动回复
    骚操作 | 用 Python 实现 GIF 倒放
    用 Python 实现朋友圈中的九宫格图片
    用 Python 送上特殊的母亲节祝福
    Python 实现黑客帝国代码雨效果
    用 Python 下载抖音无水印视频
    用 Python 制作炫酷二维码及解析
    用Python画一棵带音乐的雪夜圣诞树
    我用 Python 画了一盘粽子送给大家
    用 Python 制作一个艺术签名小工具
    备战 618,用 Python 领取京东优惠券
    用 Python 写一个颜值测试小工具
    用 Python 画一个奸笑(滑稽)表情
    用 Python 实现一场环保无污染的烟花秀
    不到 20 行 Python 代码即可制作精美证件照
    不到 100 行 Python 代码即可实现换脸功能
    用 Python 将 QQ 好友头像生成「 五一快乐」
    一行命令给猎狐 F4 带口罩 & 检测是否带口罩
    用 Python 了解一下最炫国漫《雾山五行》
    用 Python 给自己的头像加一个小国旗(小月饼)
    还在为 520 发愁吗?教你用 Python 写个表白神器!

    Python 自学路线

    怎么自学python,大概要多久?(知乎高赞)


    展开全文
  • 关于Python爬虫的超详细讲解,用例子来给大家一步步分析爬虫的代码原理,由浅入深,老年人来了,我也给你整明白。
     
    

    先看后赞,养成习惯。
    点赞收藏,人生辉煌。

    在这里插入图片描述

    讲解我们的爬虫之前,先概述关于爬虫的简单概念(毕竟是零基础教程)

    爬虫

    网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。
    原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

    为什么我们要使用爬虫

    互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式的出现在网络中。
    过去,我们通过书籍、报纸、电视、广播或许信息,这些信息数量有限,且是经过一定的筛选,信息相对而言比较有效,但是缺点则是信息面太过于狭窄了。不对称的信息传导,以致于我们视野受限,无法了解到更多的信息和知识。
    互联网大数据时代,我们突然间,信息获取自由了,我们得到了海量的信息,但是大多数都是无效的垃圾信息。
    例如新浪微博,一天产生数亿条的状态更新,而在百度搜索引擎中,随意搜一条——减肥100,000,000条信息。
    在如此海量的信息碎片中,我们如何获取对自己有用的信息呢?
    答案是筛选!
    通过某项技术将相关的内容收集起来,在分析删选才能得到我们真正需要的信息。
    这个信息收集分析整合的工作,可应用的范畴非常的广泛,无论是生活服务、出行旅行、金融投资、各类制造业的产品市场需求等等……都能够借助这个技术获取更精准有效的信息加以利用。
    网络爬虫技术,虽说有个诡异的名字,让能第一反应是那种软软的蠕动的生物,但它却是一个可以在虚拟世界里,无往不前的利器。

    爬虫准备工作

    我们平时都说Python爬虫,其实这里可能有个误解,爬虫并不是Python独有的,可以做爬虫的语言有很多例如:PHP,JAVA,C#,C++,Python,选择Python做爬虫是因为Python相对来说比较简单,而且功能比较齐全。
    首先我们需要下载python,我下载的是官方最新的版本 3.8.3
    其次我们需要一个运行Python的环境,我用的是pychram
    在这里插入图片描述
    也可以从官方下载,
    我们还需要一些库来支持爬虫的运行(有些库Python可能自带了)
    在这里插入图片描述
    差不多就是这几个库了,良心的我已经在后面写好注释了
    在这里插入图片描述
    (爬虫运行过程中,不一定就只需要上面几个库,看你爬虫的一个具体写法了,反正需要库的话我们可以直接在setting里面安装)

    爬虫项目讲解

    我做的是爬取豆瓣评分电影Top250的爬虫代码
    我们要爬取的就是这个网站:https://movie.douban.com/top250

    这边我已经爬取完毕,给大家看下效果图,我是将爬取到的内容存到xls
    在这里插入图片描述

    我们的爬取的内容是:电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,相关信息。

    代码分析

    先把代码发放上来,然后我根据代码逐步解析

    # -*- codeing = utf-8 -*-
    from bs4 import BeautifulSoup  # 网页解析,获取数据
    import re  # 正则表达式,进行文字匹配`
    import urllib.request, urllib.error  # 制定URL,获取网页数据
    import xlwt  # 进行excel操作
    #import sqlite3  # 进行SQLite数据库操作
    
    findLink = re.compile(r'<a href="(.*?)">')  # 创建正则表达式对象,标售规则   影片详情链接的规则
    findImgSrc = re.compile(r'<img.*src="(.*?)"', re.S)
    findTitle = re.compile(r'<span class="title">(.*)</span>')
    findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
    findJudge = re.compile(r'<span>(\d*)人评价</span>')
    findInq = re.compile(r'<span class="inq">(.*)</span>')
    findBd = re.compile(r'<p class="">(.*?)</p>', re.S)
    
    
    
    
    def main():
        baseurl = "https://movie.douban.com/top250?start="  #要爬取的网页链接
        # 1.爬取网页
        datalist = getData(baseurl)
        savepath = "豆瓣电影Top250.xls"    #当前目录新建XLS,存储进去
        # dbpath = "movie.db"              #当前目录新建数据库,存储进去
        # 3.保存数据
        saveData(datalist,savepath)      #2种存储方式可以只选择一种
        # saveData2DB(datalist,dbpath)
    
    
    
    # 爬取网页
    def getData(baseurl):
        datalist = []  #用来存储爬取的网页信息
        for i in range(0, 10):  # 调用获取页面信息的函数,10次
            url = baseurl + str(i * 25)
            html = askURL(url)  # 保存获取到的网页源码
            # 2.逐一解析数据
            soup = BeautifulSoup(html, "html.parser")
            for item in soup.find_all('div', class_="item"):  # 查找符合要求的字符串
                data = []  # 保存一部电影所有信息
                item = str(item)
                link = re.findall(findLink, item)[0]  # 通过正则表达式查找
                data.append(link)
                imgSrc = re.findall(findImgSrc, item)[0]
                data.append(imgSrc)
                titles = re.findall(findTitle, item)
                if (len(titles) == 2):
                    ctitle = titles[0]
                    data.append(ctitle)
                    otitle = titles[1].replace("/", "")  #消除转义字符
                    data.append(otitle)
                else:
                    data.append(titles[0])
                    data.append(' ')
                rating = re.findall(findRating, item)[0]
                data.append(rating)
                judgeNum = re.findall(findJudge, item)[0]
                data.append(judgeNum)
                inq = re.findall(findInq, item)
                if len(inq) != 0:
                    inq = inq[0].replace("。", "")
                    data.append(inq)
                else:
                    data.append(" ")
                bd = re.findall(findBd, item)[0]
                bd = re.sub('<br(\s+)?/>(\s+)?', "", bd)
                bd = re.sub('/', "", bd)
                data.append(bd.strip())
                datalist.append(data)
    
        return datalist
    
    
    # 得到指定一个URL的网页内容
    def askURL(url):
        head = {  # 模拟浏览器头部信息,向豆瓣服务器发送消息
            "User-Agent": "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122  Safari / 537.36"
        }
        # 用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接收什么水平的文件内容)
    
        request = urllib.request.Request(url, headers=head)
        html = ""
        try:
            response = urllib.request.urlopen(request)
            html = response.read().decode("utf-8")
        except urllib.error.URLError as e:
            if hasattr(e, "code"):
                print(e.code)
            if hasattr(e, "reason"):
                print(e.reason)
        return html
    
    
    # 保存数据到表格
    def saveData(datalist,savepath):
        print("save.......")
        book = xlwt.Workbook(encoding="utf-8",style_compression=0) #创建workbook对象
        sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True) #创建工作表
        col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息")
        for i in range(0,8):
            sheet.write(0,i,col[i])  #列名
        for i in range(0,250):
            # print("第%d条" %(i+1))       #输出语句,用来测试
            data = datalist[i]
            for j in range(0,8):
                sheet.write(i+1,j,data[j])  #数据
        book.save(savepath) #保存
    
    # def saveData2DB(datalist,dbpath):
    #     init_db(dbpath)
    #     conn = sqlite3.connect(dbpath)
    #     cur = conn.cursor()
    #     for data in datalist:
    #             for index in range(len(data)):
    #                 if index == 4 or index == 5:
    #                     continue
    #                 data[index] = '"'+data[index]+'"'
    #             sql = '''
    #                     insert into movie250(
    #                     info_link,pic_link,cname,ename,score,rated,instroduction,info)
    #                     values (%s)'''%",".join(data)
    #             # print(sql)     #输出查询语句,用来测试
    #             cur.execute(sql)
    #             conn.commit()
    #     cur.close
    #     conn.close()
    
    
    # def init_db(dbpath):
    #     sql = '''
    #         create table movie250(
    #         id integer  primary  key autoincrement,
    #         info_link text,
    #         pic_link text,
    #         cname varchar,
    #         ename varchar ,
    #         score numeric,
    #         rated numeric,
    #         instroduction text,
    #         info text
    #         )
    #
    #
    #     '''  #创建数据表
    #     conn = sqlite3.connect(dbpath)
    #     cursor = conn.cursor()
    #     cursor.execute(sql)
    #     conn.commit()
    #     conn.close()
    
    # 保存数据到数据库
    
    
    
    
    
    
    
    if __name__ == "__main__":  # 当程序执行时
        # 调用函数
         main()
        # init_db("movietest.db")
         print("爬取完毕!")
    
    

    下面我根据代码,从下到下给大家讲解分析一遍
    在这里插入图片描述

    -- codeing = utf-8 --,开头的这个是设置编码为utf-8 ,写在开头,防止乱码。
    然后下面 import就是导入一些库,做做准备工作,(sqlite3这库我并没有用到所以我注释起来了)。
    下面一些find开头的是正则表达式,是用来我们筛选信息的。
    (正则表达式用到 re 库,也可以不用正则表达式,不是必须的。)
    大体流程分三步走:

    1. 爬取网页
    2.逐一解析数据
    3. 保存网页

    先分析流程1,爬取网页,baseurl 就是我们要爬虫的网页网址,往下走,调用了 getData(baseurl) ,
    我们来看 getData方法

      for i in range(0, 10):  # 调用获取页面信息的函数,10次
            url = baseurl + str(i * 25)
    

    这段大家可能看不懂,其实是这样的:
    因为电影评分Top250,每个页面只显示25个,所以我们需要访问页面10次,25*10=250。

    baseurl = "https://movie.douban.com/top250?start="
    

    我们只要在baseurl后面加上数字就会跳到相应页面,比如i=1时

    https://movie.douban.com/top250?start=25

    我放上超链接,大家可以点击看看会跳到哪个页面,毕竟实践出真知。
    在这里插入图片描述

    然后又调用了askURL来请求网页,这个方法是请求网页的主体方法,
    怕大家翻页麻烦,我再把代码复制一遍,让大家有个直观感受

    def askURL(url):
        head = {  # 模拟浏览器头部信息,向豆瓣服务器发送消息
            "User-Agent": "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122  Safari / 537.36"
        }
        # 用户代理,表示告诉豆瓣服务器,我们是什么类型的机器、浏览器(本质上是告诉浏览器,我们可以接收什么水平的文件内容)
    
        request = urllib.request.Request(url, headers=head)
        html = ""
        try:
            response = urllib.request.urlopen(request)
            html = response.read().decode("utf-8")
        except urllib.error.URLError as e:
            if hasattr(e, "code"):
                print(e.code)
            if hasattr(e, "reason"):
                print(e.reason)
        return html
    

    这个askURL就是用来向网页发送请求用的,那么这里就有老铁问了,为什么这里要写个head呢?
    在这里插入图片描述

    这是因为我们要是不写的话,访问某些网站的时候会被认出来爬虫,显示错误,错误代码

    418

    这是一个梗大家可以百度下,

    418 I’m a teapot

    The HTTP 418 I’m a teapot client error response code indicates that
    the server refuses to brew coffee because it is a teapot. This error
    is a reference to Hyper Text Coffee Pot Control Protocol which was an
    April Fools’ joke in 1998.

    我是一个茶壶

    在这里插入图片描述

    所以我们需要 “装” ,装成我们就是一个浏览器,这样就不会被认出来,
    伪装一个身份。
    在这里插入图片描述

    来,我们继续往下走,

      html = response.read().decode("utf-8")
    

    这段就是我们读取网页的内容,设置编码为utf-8,目的就是为了防止乱码。
    访问成功后,来到了第二个流程:

    2.逐一解析数据

    解析数据这里我们用到了 BeautifulSoup(靓汤) 这个库,这个库是几乎是做爬虫必备的库,无论你是什么写法。

    下面就开始查找符合我们要求的数据,用BeautifulSoup的方法以及 re 库的
    正则表达式去匹配,

    findLink = re.compile(r'<a href="(.*?)">')  # 创建正则表达式对象,标售规则   影片详情链接的规则
    findImgSrc = re.compile(r'<img.*src="(.*?)"', re.S)
    findTitle = re.compile(r'<span class="title">(.*)</span>')
    findRating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
    findJudge = re.compile(r'<span>(\d*)人评价</span>')
    findInq = re.compile(r'<span class="inq">(.*)</span>')
    findBd = re.compile(r'<p class="">(.*?)</p>', re.S)
    

    匹配到符合我们要求的数据,然后存进 dataList , 所以 dataList 里就存放着我们需要的数据了。

    最后一个流程:

    3.保存数据

        # 3.保存数据
        saveData(datalist,savepath)      #2种存储方式可以只选择一种
        # saveData2DB(datalist,dbpath)
    

    保存数据可以选择保存到 xls 表, 需要(xlwt库支持)
    也可以选择保存数据到 sqlite数据库, 需要(sqlite3库支持)

    这里我选择保存到 xls 表 ,这也是为什么我注释了一大堆代码,注释的部分就是保存到 sqlite 数据库的代码,二者选一就行

    保存到 xls 的主体方法是 saveData (下面的saveData2DB方法是保存到sqlite数据库)

    def saveData(datalist,savepath):
        print("save.......")
        book = xlwt.Workbook(encoding="utf-8",style_compression=0) #创建workbook对象
        sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True) #创建工作表
        col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息")
        for i in range(0,8):
            sheet.write(0,i,col[i])  #列名
        for i in range(0,250):
            # print("第%d条" %(i+1))       #输出语句,用来测试
            data = datalist[i]
            for j in range(0,8):
                sheet.write(i+1,j,data[j])  #数据
        book.save(savepath) #保存
    

    创建工作表,创列(会在当前目录下创建),

       sheet = book.add_sheet('豆瓣电影Top250', cell_overwrite_ok=True) #创建工作表
        col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息")
    

    然后把 dataList里的数据一条条存进去就行。

    最后运作成功后,会在左侧生成这么一个文件
    在这里插入图片描述

    打开之后看看是不是我们想要的结果
    在这里插入图片描述

    成了,成了!

    在这里插入图片描述

    如果我们需要以数据库方式存储,可以先生成 xls 文件,再把 xls 文件导入数据库中,就可以啦

    本篇文章讲解到这里啦,我感觉我讲的还算细致吧,爬虫我也是最近才可以学,对这个比较有兴趣,我肯定有讲的不好的地方,欢迎各位大佬来指正我 。

    我也在不断的学习中,学到新东西第一时间会跟大家分享
    大家可以动动小手,点波关注不迷路。

    如果关于本篇文章有不懂的地方,欢迎大家下面留言,我知道的都会给大家一 一解答。

    最后给大家放波福利,博主最近在搞阿里云推广,

    活动折扣价:全网最低价87元/年,261元/3年,比学生9.9每月还便宜(只阿里云新用户可用)
    新用户可以入手试试,有一台属于自己的服务器,前期用来部署和学习都很方便

    阿里云 【点击购买
    在这里插入图片描述


    白嫖不好,创作不易。各位的点赞就是我创作的最大动力,如果我有哪里写的不对,欢迎评论区留言进行指正。
    老铁,如果有收获,请点个免费的赞鼓励一下博主呗

    在这里插入图片描述

    展开全文
  • python

    千次阅读 多人点赞 2017-05-23 15:29:12
  • 目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中...#一、安装python 欢迎...

    一、安装python(python3.7.4)

    1、下载

    这里直接去python官网就可以了,网址是:https://www.python.org
    打开后可以见到如图1
    在这里插入图片描述

    图1

    这里有两处都可以下载,还是有区别的,不想看的话,32位系统请选下载1,64位请选下载2

    (1)下载1(32位)

    点第一处下载出现如图2

    在这里插入图片描述

    图2
    这里下载的文件名叫`python-3.7.4.exe`。

    (2)下载2(64位)

    如果点击图1中的第二处下载,可见到如图3所示:

    在这里插入图片描述

    图3
    往下翻到达 图4

    在这里插入图片描述

    图4
    这里看自己的系统,我是window10*64,选了图中的包,下载的文件名是`python-3.7.4-amd64.exe`。

    到这里大家可以看到下载了两个包,分别是python-3.7.4.exepython-3.7.4-amd64.exe图5

    *区别在与其中多了amd64,这里科普一下:64位现在分为amd64和em64t,我们常说的64位指的是AMD公司出的64位CPU,而EM64T是在32位基础上扩展来的,应该是一种伪64,是过渡期的一种解决方案。说白了AMD的64位CPU是64位兼容32位运算,而INTEL的EM64T是32位兼容64位运算。
    *em64t和x86-64是两个不一样的集合,操作cpu的指令是不一样的,比如我想让cpu调用鼠标,em64t的指令就是ee,x86-64的指令就是ff。但大多数软件直接通过操作系统层来调用各种东西,所以这一类软件只要是64位的系统都可以用,不用担心。但我们的python就需要涉及到了,所以要区分。
    *图4(图片里)中提到我下载的包既适合64位又适合32位,这里解释一下,我在那只是说for AMD64/EM64T/×64这代表的是这个意思,但下载后文件名如图5是python-3.7.4-amd64.exe,没有em64T,我也不知道什么情况。

    在这里插入图片描述

    图5

    这里两处恰好对应图1中两处不同的下载,下载1对应python-3.7.4.exe下载2对应python-3.7.4-amd64.exe

    2、安装

    对俩安装包点击,分别出现图6
    在这里插入图片描述

    图6

    图7
    在这里插入图片描述

    图7

    这俩图图6图7分别对应下载1下载2,分别是32位和64位。之后的安装过程是一样的,所以只演示我自己电脑64位的。
    图7中把框都选上,如图8
    在这里插入图片描述

    图8

    点击自定义安装后出现图9
    在这里插入图片描述

    图9

    在图9中请将我画的打上勾,之后自定义安装位置,我安装在D盘的python37文件夹里了。之后点击安装Install,出现图10
    在这里插入图片描述

    图10

    安静等一会,不会太长。然后变成图11
    在这里插入图片描述

    图11

    到这里就完成了,需要注意图9是自定义安装位置路径别太长,不然配置环境变量你就有我不知道的问题了。
    好了,如果你按我所说在图8图9中都勾选了我所选的(重点是勾选了Add Python 3.7 to PATHAdd Python to environment variables),那你就可以跳过配置环境变量,直接点击去进行检验了,如果你没有选的话,接着看。

    3、配置python环境变量

    先打开文件夹,如图12
    在这里插入图片描述

    图12

    此时右键图中此电脑出现图13
    在这里插入图片描述

    图13

    点击我标注的属性,此时出现图14
    在这里插入图片描述

    图14

    然后点击高级系统设置,对了,此处可以看到自己电脑的一些信息,点击之后出现图15
    在这里插入图片描述

    图15

    在图15中点击环境变量,然后弹出图16
    在这里插入图片描述

    图16
    在图16中找到path,记住别从用户变量中找,从系统变量,然后编辑path,如 图17

    在这里插入图片描述

    图17

    前面在图8图9中都勾选了我所选的,也就是已经在安装时自动配置了环境变量的人,他的图17和我一样,是自动就有框中这两样的D:\Python37\Scripts\D:\Python37\,没选到的,这里没这两项,需要自己写进去,点击新建,然后写入的这两项

    D:\Python37\是你的安装目录,我在D盘建立的文件夹叫python37,所以是这个,这是我们在图9中自己选的安装目录,D:\Python37\Scripts\是你python安装目录下有一个叫Scripts的文件夹的路径自己可以在你的python安装目录下找。

    我的python安装目录如图18
    在这里插入图片描述

    图18

    在往图17里写路径时,尽量从图18中复制,不然易错。完成后如图19
    在这里插入图片描述

    图19

    到此完成,可以开始检验了。

    完成后建议保留安装包,细情请看点击此处

    4、检验python

    先找到运行这个应用程序,可以直接按Windows+R键,也可以像图20
    在这里插入图片描述

    图20
    点击打开”运行“,出现 图21

    在这里插入图片描述

    图21
    在”运行“框中输入cmd,点击确认,然后弹出 图22

    在这里插入图片描述

    图22

    在图22中输入python并回车,会出现python的版本信息,如图23
    在这里插入图片描述

    图23

    版本是python3.7.4,此时输入行前面出现>>>,已经进入python环境,输入quit()可以退出python,再输入exit,退出黑框。

    二、安装anaconda(anaconda3)

    1、下载

    anaconda官网是外国网站,速度非常慢,建议去清华大学开源软件镜像站下载,
    网址是:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,点击即可进入。
    进入后如图24
    在这里插入图片描述

    图24

    根据网站信息选择适合的,我选的就是最新版那个,直接点击下载,不需要几分钟。

    2、安装

    下载完成后打开下载的安装程序,如图25
    在这里插入图片描述

    图25

    这是个欢迎界面,直接下一步:图26
    在这里插入图片描述

    图26

    这里不同意人家协议就不让你用,自己看着办,我先同意了,在下面图27等你!
    在这里插入图片描述

    图27

    这里就如同python安装里的图9Install for all users一样,按图27所示选择,然后点Next,进入图28
    在这里插入图片描述

    图28

    如图可以看到又弹出一个框,可以自定义安装位置,没什么要求,就是路径里不要有汉字。然后点击下一步,进入图29
    在这里插入图片描述

    图29

    这里是你选了下面那个选项后弹出的一个提醒,就像是你修改系统默认应用一样弹出个确认框。直接点击确认就行。

    这里说一下,其实之前下载的python3.7.4和这里下载的anaconda都是一种编译环境,而且都是python语言的编译环境,进入这个环境编译的python才能运行,所以将anaconda修改为系统默认python环境时,会有提示,是否将原来的python3.7.4这个python环境修改为anaconda。

    确认后出现图30
    在这里插入图片描述

    图30

    点击Install,继续出现图31
    在这里插入图片描述

    图31

    这个安装完成很快的,进度条完成后好像不会自己关闭安装界面,如上面图31,进度满了就点击Next,没满时按钮是灰的,点不了,不用担心,之后显示图32
    在这里插入图片描述

    图32

    这是推广软件,不管,下一步图33
    在这里插入图片描述

    图33

    这里其实无所谓了,选上那俩框就是关闭安装程序后打开俩学习python的网站,没啥用,还得关。点击finish就安装完成了,会关闭掉安装程序。

    3、配置环境变量

    环境变量的配置前期先参考图12图17打开到如图34所示:
    在这里插入图片描述

    图34

    因为前面配置了python37的环境变量,而python37和anaconda都是python环境,所以要删掉python37的环境变量,改为anaconda的,如图35
    在这里插入图片描述

    图35

    此时已经没有D:\Python37\Scripts\D:\Python37\这俩python37的变量了变为了D:\Anaconda3\Library\binD:\Anaconda3\Scripts\D:\Anaconda3\这三个变量,大家可以通过看上面有关D:\Python37\Scripts\D:\Python37\注释(点击”注释“)和图18来理解该如何写自己的anaconda变量
    完成以后可以按照图19来确认。完成后就该检验了。

    4、检验anaconda

    先是参考python检验中的图20图22,来打开到图22的状态,然后输入conda --version来查看conda的信息。如图36中1所示:

    在这里插入图片描述

    图36

    其实显出1中所示就已经结束了,可以确认安装好了。也可以输入python试试,如图中2所示,显现出了anaconda所带的python解释器的版本3.7.3。其实对照我们之前安装的python37的版本就可以看出,此时输入命令python后出现的python3.7.3是anaconda自带的,我们之前装的python3.7.4在图35中删掉python37的环境变量后就不能再通过系统直接访问了,除非再将环境变量改回来。现在来讲讲如何将原来的python3.7.4加进anaconda中。

    三、扩展——将先前的python加入后来的anaconda

    1、了解anaconda

    首先了解一些前提,anaconda只有在完成环境变量的配置后才能使用conda命令,
    有一组命令必须了解,即:
    conda env list
    conda info --e
    conda info --envs
    这三个都是查询conda里python环境的信息。试着查询一下,如图37
    在这里插入图片描述

    图37

    可以看到什么也没做的情况下conda里只有base一个默认环境,位置就在anaconda里。但我们看图38
    在这里插入图片描述

    图38

    在Anaconda3的文件里并没有base,所以应该是内部默认的一个环境,然后我们再看图36中最下面输入python时有一个提醒Warning,里面是说python3.7.3这个解释器是在一个python环境里,而这个环境没激活,激活化境的语句时activate 环境名;再看图37,conda里只有base一个环境,所以尝试激活,输入activate base,如图39
    在这里插入图片描述

    图39

    可以看到激活环境后命令行开头多了个(base),关闭环境的语句不用加环境名。然后我们尝试激活base环境的情况下使用python命令,运行python3.7.3,如图40
    在这里插入图片描述

    图40

    通过图40可以看到python3.7.3解释器是在base环境中。

    2、添加python

    要想将我们原来安装的python3.7.4装到anaconda中,先是创建一个环境。
    创建一个名称为python37的虚拟环境并指定python版本为3.7.x(这里conda会自动找3.7中最新的版本下载)语句是
    conda create -n python37 python=3.7或者
    conda create --name python37 python=3.7

    python37只是我要建的文件的名,你可以自己定,这个指令其实就是在anaconda中的envs文件夹里创建一个叫python37的文件夹。

    执行语句前我们通过图37,可以知道anaconda中只有一个base,而anaconda中envs文件中如图41所示没有任何东西。
    在这里插入图片描述

    图41

    然后输入conda create --name python37 python=3.7,出现图42
    在这里插入图片描述

    图42

    y后回车,第一次需要等会,成功后出现图43
    在这里插入图片描述

    图43

    此时再看anaconda里的环境,如图44
    在这里插入图片描述

    图44

    出现了python37,并显示位置在anaconda3里的envs文件夹里,打开文件夹可以看到图45
    在这里插入图片描述

    图45

    就是在envs里创建了一个python37,并且里面是有python解释器的,

    解释一下,图45中还新出现一个test文件,估计是类似于日志一类的,别动它,之后就算删除了python37它也还会存在。

    可以通过语句activate python37来激活python37这个环境,然后运行python来查看python37里的解释器信息,如图46
    在这里插入图片描述

    图46

    通过图46可以知道建立的环境里是有python解释器的,并且版本是2019年9月发布的python3.7.4对比我们在python安装里的安装的python版本,图23所示,我们自己安装的python3.7.4是2019年8月发布的,所以此时的python是anaconda自己下载的,还不是我们之前装到那个,做这些只是为了给我们自己的python3.7.4先在anaconda里搭好一个适合python3.7.x的环境(也就是python37这个文件)。
    环境搭好了,也就该移过来python37了,还记得你自己装的python3.7.4(8月版)的位置吗?也就是在图9中自定义的安装位置,找到它,并将你安装它的文件夹复制,我的是python37。

    这时就体现出前面将python(8月版)的安装文件夹命名为python37的好处了,python(8月版)的文件夹必须要与anaconda里envs下你建的python37(9月版)文件同名才行。这两处名可以不叫python37,但必须同名,不含汉字。

    把你复制的python37(8月版)(也就是自己安装的python(8月版)文件)粘贴到anaconda的envs文件夹里去,出现图47

    如果俩文件夹不同命又真的不想动命名的话,也可以了,就是复制到时候不能复制安装python3.7.4(8月版)的文件夹,而是复制文件夹里的东西,全选上,复制后也不是粘贴到envs里了,粘贴到你在envs里建都那个python37(9月版)环境里,像我的就是envs里的python37(9月版)文件夹里

    在这里插入图片描述

    图47
    之后因为同名关系,出现 图48

    在这里插入图片描述

    图48

    选择替换掉,这时候应该理解了吧,完成后就把我们的python3.7.4(8月版)加进anaconda里了。

    说白了就是鸠占鹊巢,我们的python3.7.4(8月版)想弄进anaconda里,受anaconda调用,必须在anaconda里有可调用的接口,而我们用命令conda create --name python37 python=3.7让anaconda自己下载了一个属于它自己的python,还是3.7版本的最新版,他自己的东西肯定就有接口了,但是它里面还带了一个python3.7.4(9月版),这时候我们只需要粘贴过来用我们自己的python3.7.4(8月版)覆盖掉anaconda里python37中带的python3.7.4(9月版)就好了。

    加进去后不放心可以检验一下,输入命令activate python37激活python37环境,在输入python查看并进入python解释器,如图49
    在这里插入图片描述

    图49

    这时python3.7.4已经是8月版的,就是我们开始自己下载的。

    另外创建python的环境命令时
    conda create --name python37 python=3.7而对应的删除命令是
    conda remove --name python37 --all执行删除命令后使用查看指令就看不到了,在envs文件里也删掉了。

    3、命令归纳

    查看环境:
    conda env list
    conda info -e
    conda info --envs
    创建环境:
    conda create -n python37 python=3.7
    conda create --name python37 python=3.7
    删除环境:
    conda remove --name python37 --all
    激活环境:
    activate python37
    关闭环境:
    deactivate
    打开python解释器:
    python

    4、error_创建环境以大写命名

    这是在我创建环境时用大写命名时弹出错误,创建不成功,出现乱码,应该是不支持大写,如图50
    在这里插入图片描述

    图50

    我输入的是conda create --name Python37 python=3.7,这里文件我以大写P开头,而图中显示无法创建,并且大写P以乱码形式出现。后改为小写成功创建。

    四、记录一种python卸载方法

    这里说的python是指自己下载的,如1、下载处这样下载,而非在anaconda里用语句下载的,下载完后建议保留安装程序,如图5所示,在安装完成后再次运行安装程序,会出现图51
    在这里插入图片描述

    图51

    这是点击第三项,可以很方便的卸载掉,所以建议保留,还可以用来修复呢。我已放入python安装文件里保留。

    展开全文
  • Python爬虫100例教程导航帖(已完结)

    万次阅读 多人点赞 2019-01-08 23:40:01
    Python爬虫入门教程导航,目标100篇。 本系列博客争取把爬虫入门阶段的所有内容都包含住,需要你有较好的Python基础知识,当然你完全零基础也可以观看本系列博客。 Python爬虫入门教程,加油!
  • 最新Python学习路线+千锋Python课程大纲+Python视频教程+Python学习资料下载地址大合集 目前Python已经成为最受欢迎的程序设计语言之一。Python的设计哲学是“优雅”、“明确”、“简单”。 Python的优点(来自...
  • python十个实战项目

    万次阅读 多人点赞 2012-02-12 14:43:07
    python项目练习一:即时标记 python项目练习二:画幅好画 python项目练习三:万能的XML python项目练习四:新闻聚合 python项目练习五:虚拟茶话会 python项目练习六:使用CGI进行远程编辑 python项目练习七:自定义...
  • python基础教程 python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器 python基础系列教程——Python库的安装与卸载 python基础系列教程——Python3.x标准模块库目录 ...
  • Anaconda 查看、创建、管理和使用python环境

    万次阅读 多人点赞 2018-04-24 17:12:33
    由于不同的项目需要用不同的python版本,于是使用Anaconda来进行版本管理,现记录一下经验:在官网下载并安装好Anaconda以后(非常简单,此处不赘述):1. 查看Python环境conda info --env可以看到所有python环境,...
  • 快速查找Python安装路径方法

    万次阅读 多人点赞 2018-02-28 15:22:42
    我相信一定有很多的人跟我一样,经常忘记Python安装的路径,每当用到的时候,最笨的办法就是在全局电脑里,直接查找Python,这样是肯定能查到的,但是如果你的电脑文件超级多,这将是一个工厂量很大的事情,你要等...
  • Python学习目录

    万次阅读 多人点赞 2019-05-19 10:32:13
    1.1 Python MOOC练习3 1.2 Python MOOC练习4 1.3 python中的随机函数random的用法示例 1.4 Python文本词频统计的编码问题-MOOC嵩天 1.5 Python中的复数和误区 1.6 Python计算圆周率的两种方法 1.7 Python实现...
  • Python全栈视频教程

    万人学习 2017-07-17 20:42:19
    Python全栈视频培训教程,帮助开发者从零到一入门python:1.深入理解python语法机制与底层原理,2.深入实战python各种案例 , 3.语音识别,图形界面,多线程爬虫,语音合成,游戏控制等等精彩案例。
  • python列表相加的方法:两个list [] 加法

    万次阅读 多人点赞 2018-06-08 21:57:22
    简明扼要:Python list 相加的方法
  • 吐血总结!50道Python面试题集锦(附答案)

    万次阅读 多人点赞 2019-07-05 20:56:12
    Python是目前编程领域最受欢迎的语言。在本文中,我将总结Python面试中最常见的50个问题。每道题都提供参考答案,希望能够帮助你在2019年求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及Python基础知识、...
  • Python学习笔记(28)-Python读取word文本

    万次阅读 多人点赞 2017-07-17 11:36:17
    一,简介Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。二,相关概念...
  • 零基础掌握 Python 入门到实战

    万人学习 2019-11-08 15:16:01
    【为什么学PythonPython 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就...
  • python多线程详解(超详细)

    万次阅读 多人点赞 2019-09-28 08:33:31
    python中的多线程是一个非常重要的知识点,今天为大家对多线程进行详细的说明,代码中的注释有多线程的知识点还有测试用的实例。 import threading from threading import Lock,Thread import time,os ''' python...
  • Python数据分析与机器学习实战

    万人学习 2017-01-24 10:18:45
    Python数据分析与机器学习实战教程,该课程精心挑选真实的数据集为案例,通过python数据科学库numpy,pandas,matplot结合机器学习库scikit-learn完成一些列的机器学习案例。课程以实战为基础,所有课时都结合代码演示...
  • 图解Python 玩转Python 秒懂python

    万次阅读 多人点赞 2019-07-06 21:30:04
    0 Python 解释器: Python数据结构: 2.变量与运算符 3 Python 流程控制 4 Python 文件处理 5 python 输入输出 6 Python 异常 7 Python 函数和模块 8 Python 面相对象: 9 python 多线程 10 Python 标准库...
  • Python解答蓝桥杯省赛真题之从入门到真题

    万次阅读 多人点赞 2019-12-21 10:07:37
    搜了很多历年蓝桥杯真题解答,大多都是Java,C++,C这些语言编写的代码解析。...而当下Python又这么火热,蓝桥杯也出了Python组,所以打算写一个Python解答蓝桥杯真题的博客,供大家参考,也在这过程中和大家一起交流。
  • Python2和Python3的区别,以及为什么选Python3的原因

    万次阅读 多人点赞 2018-06-29 12:28:13
    对这些部分简单带过不要花太多时间 使用Python 2,不要使用Python 2.7以前的版本 使用Python 3,不要使用Python 3.4以前的版本 多了解Python 2的__future__库 对同一份代码,不要为Python 2和Python 3分别维护分支,...
  • 官网python-3.8.3安装包(.exe),windows安装软件,各位请自行下载; 链接:https://pan.baidu.com/s/1UnCPlvNCuzCIY36R3gtC0g 提取码:4daq
  • anaconda python 版本对应关系

    万次阅读 多人点赞 2018-07-14 15:09:48
    在表格中用括号备注了包含的python版本号 Release date conda python2.7 python3.4 python3.5 python3.6 python3.7 python3.8 2015-02-25 3.4.3 ...
  • Python 二次开发 AutoCAD 简介

    万次阅读 多人点赞 2018-12-13 18:20:21
    python是 Active X 是 pyautocad模块由俄罗斯工程师开发,因参考实例较少,工程需要,现将模块中一些基本的用法,做出简要说明,叙述力求简洁明了, 因个人水平有限,文中难免有所疏漏,还请各位大神不吝批评指正...
  • ubuntu安装python3.7,并更新python默认指向为python3.7

    万次阅读 多人点赞 2018-12-24 17:57:44
    ubuntu默认带着的python版本不是最新版,因此需要手动安装最新版。 查看python的指向。 ls -l /usr/bin | grep python 可以看到,此时python指向的是python3.4。 第一部分:安装python3.7 1.直接使用apt-get...
  • Linux、Windows后台运行Python脚本

    万次阅读 2019-12-07 13:12:37
    Linux:python或nohup命令 python命令: python test.py & python -u test.py >> test.log & 参数u,时时输出内容到文件。 nohup命令: 基本用法: 1.nohup python3 test.py & 后台...
  • Python最佳学习路线

    万次阅读 多人点赞 2019-01-17 16:46:45
    如何学习Python 最近开始整理python的资料,会陆续放到博客中存档。找了几个qq群,其中有一个群78486745。后面就没怎么加群了,还是需要看官方文档为主 python语言基础:(带你熟悉python语言的特性,学会使用...
  • Python 中的Sympy详细介绍

    万次阅读 多人点赞 2019-07-13 17:06:06
    Python 中的Sympy详细使用 遇到复杂计算找python绝对不让你失望,sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算...
  • Python初级入门精讲

    万人学习 2017-11-22 12:19:29
    本课程为Python全栈开发初级入门篇-语言基础章节,学习完本篇章可对python语言有初步的掌握与理解,本课程侧重于初级学员,课程内容详细有针对性,务求各种类型的学员都可以掌握python开发。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,912,084
精华内容 2,764,833
关键字:

pyton