![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python知识库
文章平均质量分 89
学过也要来发现,一个被推到风口浪尖的语言,一起造起来吧~~~
女王の专属领地
尼采曰:每一个不曾起舞的日子,都是对生命的辜负!
展开
-
Python网络爬虫《一》
1、内容:2、Python IDE工具:科学计算和数据分析:Canopy、Anaconda3、Python网络爬虫与信息提取:Request库:(1)安装:pip install request(2)验证:python IDLE中>>> import requests>>> r = requests.get("http://www.baidu.com")原创 2018-01-13 15:41:59 · 551 阅读 · 2 评论 -
Python网络爬虫《二》
1、网络爬虫的尺寸:2、网络爬虫的限制:(1)来源审查:判断User-agent进行限制检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问;(2)发布公告:Robots协议3、Robots协议:网络爬虫排除标准作用:网络告知网络爬虫那些页面可以抓取,那些不行;显示:在网站根目录下robots.txt文件;网络爬虫:自原创 2018-01-13 16:02:43 · 394 阅读 · 0 评论 -
Python网络爬虫《三》
案例分析:案例1:京东商品页面爬取#/usr/bin/env.pythonimport requestsdef getHTMLText(url): try: r = requests.get(url,timeout=30) print r.status_code r.raise_for_status() r.e原创 2018-01-13 17:12:00 · 563 阅读 · 0 评论 -
Python网络爬虫《四》
1、Beautiful Soup指令安装(二选一):pip install beautifulsoup4easy_install beautifulsoup4#/usr/bin/env.python#_*_utf-8_*_from bs4 import BeautifulSoupimport requestsif __name__=="__main__"原创 2018-01-13 18:25:47 · 356 阅读 · 0 评论 -
Python网络爬虫《五》
案例:中国大学排名定向爬虫输入:URL输出:(排名、大学名称...)技术路线:requests-bs4定向爬虫:仅仅对输入URL进行爬取,不扩展爬取;#/usr/bin/env.python# -*- coding:utf-8 -*-import requestsfrom bs4 import BeautifulSoupimport原创 2018-01-14 14:28:31 · 466 阅读 · 0 评论 -
Python网络爬虫《六》
正则表达式:字符和操作符构成正则表达式是一个特殊的字符序列,检查一个字符串是否与某种模式匹配。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。操作符:模式描述^原创 2018-01-14 21:07:02 · 753 阅读 · 0 评论 -
Python网络爬虫《七》
案例一:淘宝商品信息定向爬虫实例编写功能描述:1、目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格;2、理解:淘宝的搜索接口;翻页的处理;3、技术路线:request-re4、可行性:User-agent:*Dissallow观察:https://s.taobao.com/search?q=%E4%B9%A6%E5%8C%85&imgfile=&commend=a原创 2018-01-15 10:24:40 · 1149 阅读 · 0 评论 -
Python网络爬虫《八》
案例二:目标:获取上交所和深交所所有股票的名称和交易信息;输出:保存到文件中;技术路线:requests-bs4-re候选网站分析:候选:新浪股票&百度股票原则:股票信息静态存在于HTML页面中,非JS代码生成,没有Robots协议限制;选取方法:浏览器F12,源代码查看等;代码练习:#/usr/bin/env.python# -*- co原创 2018-01-15 10:24:37 · 415 阅读 · 0 评论 -
Python网络爬虫《九》
Scrapy爬虫框架安装 : pip install scrapy测试成功 : scrapy -hScrapy爬虫框架“5+2”结构:Scrapy主要组件:引擎(Engine) 用来控制所有模块之间的数据流, 触发事务(框架核心)下载器(Downloader) 用于下载网页内容,原创 2018-01-15 11:01:03 · 1062 阅读 · 0 评论 -
Python网络爬虫《十》
案例:股票数据Scrapy爬虫实例完整配置并实现Scrapy爬虫的过程:建立工程和Spider模板 编写Spider 编写Pipeline 配置优化具体实现:1、创建工程 1 scrapy startproject BaiduStocks 2、创建爬虫程序 1 2 cd BaiduStocks ...原创 2018-01-15 15:35:17 · 494 阅读 · 0 评论 -
Python容器Containers
Python中的容器:列表(list)、字典(dictionaries)、集合(sets)、元组(tuple)列表List:列表就是python中的数组,但是列表长度可变,且能包含不同类型元素切片Slicing:为了一次性获取列表中的元素循环Loops:1、普通循环2、如果想要在循环体内访问每个元素的指针,使用内置的enumerate函数列表推导List compreh原创 2017-11-18 11:08:26 · 824 阅读 · 0 评论 -
Python之argparse
帮助文档:https://docs.python.org/3/library/argparse.html?highlight=parse#module-argparse1. argparse介绍是python的一个命令行解析包,非常编写可读性非常好的程序2. 基本用法prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下:#!/usr/bin/env p转载 2017-11-07 15:39:54 · 467 阅读 · 0 评论 -
Cython参考
Cython的简单使用:http://www.cnblogs.com/freeweb/p/6548208.html编译Pipeline由于cython是python的超集,因此python解释器不能直接解释cython的代码,通过cython compilation pipeline,可以将cython代码转换为python的扩展模块。pipeline分为两阶段:cython编译.pyx代码为c或原创 2017-10-19 16:39:25 · 862 阅读 · 0 评论 -
从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!
翻译 | AI科技大本营(ID:rgznai100)参与 | SuiSui继推出2017年机器学习开源项目Top 30榜单后,Mybridge AI又推出了一个Python开源项目Top 30榜单,包括开源Python库、工具等。该榜单基于项目质量、用户参与度以及其他几个方面进行了评估,从大约15000个开源项目中挑选了Top 30,差不多都是在2017年1-1转载 2018-01-16 15:40:36 · 504 阅读 · 0 评论 -
Pycharm输出中文乱码
1. 方法一:文件开头加上以下代码:1 # -*- coding:utf-8 -*-这个可以在工具栏的文件>设置>编辑器>文件和代码模板>模板的Python script中加入,以后新建文件会自动添加。2. 方法二可以在.py文件中添加:1 import sys2 reload(sys)3 sys.setdefaultenco原创 2018-01-14 17:08:17 · 1308 阅读 · 0 评论 -
Python实战项目之博客网站搭建
参考:廖雪峰网站https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000http://blog.csdn.net/lm409/article/details/63687293Day 1 - 搭建开发环境搭建开发环境首先,确认系原创 2018-01-28 17:02:29 · 830 阅读 · 0 评论 -
Python格式化输出之pprint
简介pprint模块提供了打印出python数据结构类和方法。模块方法:pprint.PrettyPrinter(indent=1,width=80,depth=None, stream=None) 创建一个PrettyPrinter对象 indent --- 缩进, width --- 一行最大宽度,原创 2018-01-29 20:23:32 · 783 阅读 · 1 评论 -
python基础《二:基础语句》
条件语句if 判断条件: 执行语句……else: 执行语句……if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。当判断条件为多个值时,可以使用以下形式:if 判断条件1: 执行语句1……elif 判断条件2: 执行语句2……elif 判断条件3: 执行语句3……el...原创 2018-01-16 22:05:17 · 636 阅读 · 0 评论 -
python基础《四:列表、元组、字典》
列表(List)创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。访问使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:#!/usr/bin/pythonlist1 = ['physics', 'chemistry', 1997, 2000];list2 = [1, 2, 3,...原创 2018-01-17 14:01:11 · 986 阅读 · 0 评论 -
python基础《三:数字、字符串、集合》
Number(数字)Number 数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。以下实例在变量赋值时 Number 对象将被创建:var1 = 1使用del语句删除一些 Number 对象引用。del var1[,var2[,var3[....,varN]]]]使用del语句删除单个或多个对象,例如:del vardel va...原创 2018-01-17 13:43:58 · 600 阅读 · 0 评论 -
Python基础《七:IO和文件》
I/O打印到屏幕:printPython提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘。如下:raw_inputinputraw_input函数raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):input函数input([prompt]) 函数和 raw_input([prompt]) 函数基本类似,但是input 可以接收一个...原创 2018-01-24 15:08:51 · 508 阅读 · 0 评论 -
Python基础《六:函数》
定义规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。语法def functionname( paramet...原创 2018-01-24 11:23:58 · 428 阅读 · 0 评论 -
Python模块之re-正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能;re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。...原创 2018-01-26 16:15:57 · 273 阅读 · 0 评论 -
python模块之sys
sys 模块提供许多函数和变量来处理 Python 运行时环境的不同部分处理命令行参数在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称.处理模块path 列表是一个由目录名构成的列表, Python 从中查找扩展模块( Python 源模块, 编译模块,或者二进制扩展).启动 Python 时,这个列表从根据内建规则, PYTHONPATH 环境变量的...原创 2017-10-19 18:26:31 · 844 阅读 · 0 评论 -
Python模块之JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。JSON 函数使用 JSON 函数需要导入 json 库:import json。函数描述json.dumps将 Python 对象编码成 JSON 字符串json.loads将已编码的 JSON 字符串解码为 Python 对象json.dumpsjson.dumps 用于将 Pyth...原创 2018-01-26 18:09:20 · 417 阅读 · 0 评论 -
Python模块之time和datetime
日期和时间Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。Python 的 time 模块下有很多函数可以转换常见日期格式。时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。...原创 2018-01-24 11:24:11 · 375 阅读 · 0 评论 -
Python全栈工程师(3:文件处理与字符编码)
1、文件#1. 打开文件,得到文件句柄并赋值给一个变量f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r#2. 通过句柄对文件进行操作data=f.read()#3. 关闭文件f.close() f=open('a.txt','r')的过程#1、由应用程序向操作系统发起系统调用open(...)#2、操作系统打开该文件,并返回一个文件句柄...原创 2018-03-20 19:39:22 · 357 阅读 · 0 评论 -
python模块之xml
xml处理模块xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单.xml协议在各个语言里的都是支持的。格式如下,就是通过<>节点来区别数据结构的:<?xml version="1.0"?><data> <country name="Liechtenstein"> <rank u原创 2018-03-27 12:41:21 · 803 阅读 · 0 评论 -
Python全栈工程师(8:异常处理)
1、异常基础在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面。1234try: passexcept Exception,ex: pass2、异常种类常用异常:AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError 输入/输出异常;基本上是无法打开文件ImportError 无法引入...原创 2018-03-29 10:12:45 · 317 阅读 · 0 评论 -
Python全栈工程师(6:面向对象基础)
程序设计思想发展引子:http://www.cnblogs.com/alex3714/articles/5188179.html面向对象编程 OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑,从而使团队开发变得更从容。...原创 2018-03-26 13:55:18 · 275 阅读 · 0 评论 -
Python全栈工程师(7:面向对象高级进阶)
面向对象高级语法部分类的字段、方法、属性经典类vs新式类Python 2中:经典类--深度优先;新式类--广度优先Python 3中:均为广度优先super()方法:抽象接口# /usr/bin/env.python# -*- coding:utf-8 -*-import abcclass Alert(object): '''报警基类''' __metaclass__ =...原创 2018-03-28 08:32:29 · 385 阅读 · 0 评论 -
Python全栈工程师(9:软件开发规则)
软件开发规则:设计好目录结构的原因:提高项目可读性、可维护性:可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。目录组...原创 2018-03-29 21:02:46 · 311 阅读 · 0 评论 -
python模块之hashlib
用于加密相关的操作,3.x里代替了md5(不可反解)模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法123456789101112131415161718192021222324252627282930313233343536373839404142import hashlib m = hashlib.md5()m.update(...原创 2018-03-31 11:42:29 · 267 阅读 · 0 评论 -
python模块之shelve
shelve 模块shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式,对pickle更上一层的封装。import shelveimport datetimed = shelve.open('shelve_test') # 打开一个文件class Test(object): def __init__(self, ...原创 2018-03-27 12:40:54 · 211 阅读 · 0 评论 -
python模块之random
random模块import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数 print(random.randrange(1,3)) #[1,3) 大于等于1且小于3之间的整数 print(r...原创 2018-03-27 12:40:26 · 261 阅读 · 0 评论 -
Python教程系列
requests库官方文档中文版:http://cn.python-requests.org/zh_CN/latest/index.htmlBeautifulSoup库官方文档中文版:http://beautifulsoup.readthedocs.io/zh_CN/latest/PEP8——Python代码规范:https://www.python.org/dev/peps/pep-0008/爬...原创 2018-01-14 17:28:23 · 417 阅读 · 0 评论 -
Python扩展包之shutil
Shutil :高级的文件操作模块; os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供。 shutil提供了--移动 复制 打包 压缩 解压等功能。1 shutil.copyfileobj(fsrc, fdst[, lengt...原创 2018-03-20 10:39:58 · 522 阅读 · 0 评论 -
Python全栈工程师(11:网络基础_网络协议篇)
操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。注:计算机(硬件)->os->应用软件二.网络通信原理2.1 互联网的本质就是一系列的网络协议连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议...原创 2018-04-04 10:18:04 · 459 阅读 · 0 评论 -
python模块之os
OS模块简单的来说它是一个Python的系统编程的操作模块,提供对操作系统进行调用的接口,可以处理文件和目录这些我们日常手动需要做的操作。os模块包含普遍的操作系统功能,与具体的平台无关。1. import 实际上是python虚拟机把当前的globals()和locals()传进__builtins__.__import__内置函数了,所以实际上干活的是那个__import__函数!2. imp...原创 2017-10-19 17:58:10 · 1779 阅读 · 0 评论 -
python中自动化部署setup.py的写法
编写python的第三方库,最重要的一个工作就是编写setup.py了,如果我们下载过一些第三库的源代码文件,打开之后一般就会有一个setup.py,执行python setup.py install 就可以安装这个库了。setup.py 如何编写内容很多,可以参考官方文档:https://wiki.python.org/moin/Distutils/Tutorial?highlight=%28s...原创 2018-04-19 20:14:23 · 9888 阅读 · 1 评论