Python
ObsessionLife
这个作者很懒,什么都没留下…
展开
-
[Python 实战] - No.1 爬虫基本结构讲解
最近的一个项目需要用到爬虫爬取微博博文,所以特地学习了一下python 爬虫。特此记录,以方便日后再次用到,在这里我只记录爬虫相关结构介绍,图片来源自imooc python爬虫课程。1. 爬虫基本架构:爬虫最重要的三个部分就是URL管理器、网页下载器、和网页解析器。其作用分别为:1. URL管理器:主要是用于储存爬虫程序对应的URL。对于最新得到的URL,维护一个容器,储存所原创 2017-05-05 10:44:10 · 893 阅读 · 0 评论 -
[Python 实战] - No.13 Python高级编程
Python高级编程记录一下python中几种比较高效、简洁的编程方法变量交换:在其他语言中,我们进行变量交换一般都是使用一个临时存储变量tmp,然后将a,b的变量值进行交换。但是python独有一种超级简单的变量交换的方法。a = 5b = 10print(a,b)b,a = a,bprint(a,b)'''5 1010 5'''还有几种其他的有有趣的方式进行变量...原创 2019-04-15 17:02:31 · 832 阅读 · 0 评论 -
[Pandas 学习笔记] - No.1 pandas学习笔记
pandas学习笔记pandas是基于numpy开发出的数据分析包,用于高效地操作大型数据集。pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维数据。 其中datafram最为常用,我们仅对dataframe进行记录。dataframe其实就是一个形似数据库中的table一样的数据结构,我们可以从列表,字典,series和numpy nda...原创 2019-03-16 15:00:20 · 768 阅读 · 0 评论 -
[NumPy 学习笔记] - No.3 NumPy数值运算及矩阵操作
numpy学习笔记numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档数组运算基本运算在numpy中,最基本的运算是加减,即对应位置元素做加减法;注意我们提到的运算是shape相同的两个变量之间的运算。# 基本运算x = np.array(...原创 2019-03-14 21:41:55 · 631 阅读 · 0 评论 -
[NumPy 学习笔记] - No.2 NumPy数据索引
numpy学习笔记numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档数组索引常见索引对数组最简单的索引就是常见的[]索引# 索引x = np.array([1, 2, 3])print ("x[0]: ", x[0]) # x[0]:...原创 2019-03-14 21:34:00 · 475 阅读 · 1 评论 -
[NumPy 学习笔记] - No.1 使用NumPy创建数组
numpy是python中非常有用的一个库,我们可以使用numpy创建大型的高维数组并进行运算。这里记录一下numpy一些常用的方法。如果想仔细研究numpy的强大功能还需要翻阅NumPy API文档创建数组import numpy as np创建标量我们使用numpy来创建一个简单的数字# 创建一个float类型的数字x = np.array(6.0) # 稍后会解释什么叫np.a...原创 2019-03-14 21:29:03 · 265 阅读 · 0 评论 -
[django学习记录] - No.1 使用django创建一个简单的API
Django学习记录1. 创建Django项目使用pycharm的话可以直接选择django 项目。如果想要使用命令行,可以在命令行中输入以下命令:django-admin startproject myproject其中myproject是你的项目名称。不过我们更推荐用pycharm。因为使用命令行原生的项目,需要自己手动创建一些项目,和补全一些配置文件的选项。然后你就会得到一个如下...原创 2019-02-28 15:33:09 · 320 阅读 · 0 评论 -
[Python 实战] - No.12 Python 中的正则表达式使用
1. Python中如何使用正则表达式Python中使用正则表达式的步骤如下:使用import re导入正则表达式模块使用re.compile()创建一个对象使用Regex对象的search()方法,传入一个字符串,然后返回一个Match对象调用Match对象的group()方法,返回文本中匹配该正则表达式的字符串示例如下,查找学生姓名中姓Zhang的同学姓名impo...原创 2018-09-07 17:24:26 · 330 阅读 · 0 评论 -
[Python 实战] - No.11 Python Struct 模块使用
Python提供了一个struct模块来解决bytes和其他二进制数据类型的转换 函数 return explain pack(fmt,v1,v2…) string 按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回. pack_into(fmt,buffer,offset,v1,v2…) None 按照给定的格式(fmt),将数据转换成字符串原创 2018-03-26 17:00:50 · 295 阅读 · 0 评论 -
[Python 实战] - No.10 Ubuntu16.04 配置Python OpenCV3.3.0
1.OpenCV 3.3.0 安装并测试1.1 安装依赖sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libjasper-dev libopenexr-dev libtbb-dev sudo apt-get install cmake1.2 安装OpenCV-3.3.原创 2018-01-16 21:57:15 · 469 阅读 · 0 评论 -
[Python 实战] - No.9 Python闭包和装饰器
一、闭包:闭包就是内层函数引用了外部函数的变量,然后返回内层函数的情况,叫做闭包。必报的特点就是我们返回的函数,引用了外部函数的局部变量,如果我们希望按照我们所想,来正确的使用这个必报的话,那就要确定我们引用的局部变量在函数返回以后是不能变得。一个最简单的闭包:def outer(arg): def inner(): return 'Using args:' +原创 2017-10-22 18:55:06 · 241 阅读 · 0 评论 -
[Python 实战] - No.8 Python面向对象编程
面向对象三大关键:封装、继承、多态。我们从这三个方面介绍Python的面向对象编程,同时会提到Python中类的魔术方法:1. 封装成类:在Python中,我们使用以下方式进行类的声明:class Person (object): def __init__(self, name, gender): self.name = name self.ge原创 2017-10-22 15:32:43 · 393 阅读 · 0 评论 -
[Python 实战] - No.7 Python可变参数 *args和**kw区别
在python中,我们经常使用会使用*args和**kw作为可变参数,其中*args表示我们接受的参数作为元组来处理,**kw表示我们接受的参数需要提供key值,作为字典来处理:我们可以如下使用两种参数:*args:我们定义接受*args的函数func4:打印元组中的每个元素我们可以在调用函数的时候直接传入多个参数,直接调用:如果我们传入了一个列表,也会把列表当原创 2017-10-22 14:51:50 · 301 阅读 · 0 评论 -
[Python 实战] - No.6 List、Tuple,Dict
一、ListList,也就是我们常说的列表,是python内置的一种数据类型。形如:['Alice','Bob',''Cindy]。List是有序的集合,也就是说我们可以对列表进行排序。对于列表的具体操作分别为构造,增,删,改,遍历,排序等。构造List的方法很简单,直接声明一个空的List、然后对该List进行追加元素我们构造完空的List以后,需要使用append()函原创 2017-10-22 10:22:15 · 240 阅读 · 0 评论 -
[Python 实战] - No.5 字符串、切片与格式化输出
一、raw字符串与多行字符串在字很多语言中,如果符串中包含需要转义的字符,我们会在前面添加转义符'\',例如:同时,在python中,''和""均可以表示字符串。但是如果希望在一个字符串中使用,‘’或者“”作为普通字符,需要进行转义如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 ‘r’,表示这个字符串是raw字符串,所有字符串均...原创 2017-10-21 21:27:20 · 818 阅读 · 0 评论 -
[Python 实战] - No.4 一张图入门Python基本语法
之前一直想写一个Python基本语法的文章,在这里放上一张图,一目了然:图片来源未知P.S.文章不妥之处还望指正原创 2017-05-09 21:23:26 · 497 阅读 · 0 评论 -
[Python 实战] - No.3 Chorme Xpath 匹配为空
问题:在chorme的F12开发者模式中直接获取的xpath 为chorme优化过的,可能会导致你在应用到selector时出现空匹配。例如:content = selector.xpath('/html/body/table/tr/td[2]/a[1]')这个在chorme中,就会优化为/html/body/table/tbody/tr/td[2]/a[1],这样就无法匹配解决办原创 2017-05-05 11:44:52 · 2552 阅读 · 0 评论 -
[Python 实战] - No.2 Python实现微博爬虫
本篇文章主要针对Python爬虫爬取微博内容(也可类似实现图片)。通过给定初始爬取起点用户id,获取用户关注其他用户,不断爬取,直到达到要求。一、项目结构:1. main.py中对应程序过程逻辑2. url_manager.py对应管理URL3. html_parser.py 将网页下载器、网页解析器、博文保存封装在了一起。(理论上应该分开,但是我这里图方便就合在一起了)原创 2017-05-05 11:41:22 · 770 阅读 · 0 评论 -
[Python 实战] - No.14 Python-Redis中的编码问题
Python-Redis中的编码问题最近在写代码的时候,因为redis的编码的问题,debug了一天,最后终于搞清楚了python-redis中遇到的那些坑。在这里记录一下:python中如何连接redis: value = value.decode(self.encoding, self.encoding_errors)UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start b原创 2019-05-14 11:55:34 · 4115 阅读 · 4 评论