
python
小飞侠v科比
专注IT全栈技术
展开
-
案例:使用BeautifuSoup4的爬虫
我们以腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a使用BeautifuSoup4解析器,将招聘网页上的职位名称、职位类别、招聘人数、工作地点、发布时间,以及每个职位详情的点击链接存储出来。# bs4_tencent.pyfrom bs4 import BeautifulSoupimport urllib...原创 2019-11-21 21:50:47 · 233 阅读 · 0 评论 -
BeautifulSoup4介绍
CSS 选择器:BeautifulSoup4和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。BeautifulSoup 用来解析 HT...原创 2019-11-21 21:50:04 · 783 阅读 · 1 评论 -
Python JSON模块与JsonPath
数据提取之JSON与JsonPATHJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。JSON和XML的比较可谓不相上下。Python 2.7中自带了JSON模块,直接import json就可以使用了。官方文档:http...原创 2019-11-21 21:43:44 · 344 阅读 · 0 评论 -
Python XPath与lxml类库
什么是XMLXML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 的标签需要我们自行定义。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准W3School官方文档:http://www.w3school.com.cn/xml/index.aspXML 和...原创 2019-11-21 21:41:17 · 235 阅读 · 0 评论 -
Python 正则表达式re模块
为什么要学正则表达式实际上爬虫一共就四个主要步骤:明确目标 (要知道你准备在哪个范围或者网站去搜索)爬 (将所有的网站的内容全部爬下来)取 (去掉对我们没用处的数据)处理数据(按照我们想要的方式存储和使用)我们在昨天的案例里实际上省略了第3步,也就是"取"的步骤。因为我们down下了的数据是全部的网页,这些数据很庞大并且很混乱,大部分的东西使我们不关心的,因此我们需要将之按我们的需要过...原创 2019-11-21 21:34:40 · 395 阅读 · 0 评论 -
HTTP/HTTPS抓包工具-Fiddler
HTTP代理神器FiddlerFiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP请求。 Fiddler启动的时候,默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置。工作原理Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888Fiddler抓取HTTPS设置启动Fiddler,打开菜单栏...原创 2019-10-29 21:44:53 · 335 阅读 · 0 评论 -
Requests简单使用和深入理解
Requests: 让 HTTP 服务人类虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用:)Requests 继承了urllib的所有特性。Requ...原创 2019-10-29 21:42:47 · 898 阅读 · 0 评论 -
python str和bytes的区别
bytesbytes对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符)则由相应的编码格式解码所决定Python2 中>>> type(b'xxxxx')<type 'str'>>>> type('xxxxx')<type 'str'>Python3 中>>>...原创 2019-10-29 21:37:48 · 557 阅读 · 0 评论 -
HTTP/HTTPS的请求与响应
HTTP和HTTPSHTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(Secure Sockets Layer 安全套接层)主要用于Web的...原创 2019-10-29 21:34:46 · 2693 阅读 · 1 评论 -
爬虫原理与数据抓取
为什么要做网络爬虫?首先请问:都说现在是"大数据时代",那数据从何而来?企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据、纳斯达克。数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询爬取网络数据:如果需要的数据市场上没有,或者不愿意购买...原创 2019-10-29 21:29:33 · 1003 阅读 · 0 评论 -
操作系统(Linux基础)
目标了解操作系统及作用1. 操作系统(Operation System,OS)操作系统作为接口的示意图没有安装操作系统的计算机,通常被称为 裸机如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序1.1 操作系统的作用是现代计算机系统中 最基本和最重要 的系统软件是 配置在计算机...原创 2019-08-03 23:16:40 · 175 阅读 · 0 评论 -
操作系统的发展史(Linux基础)
目标了解操作系统的发展历史知道 Linux 内核及发行版的区别知道 Linux 的应用领域01. 操作系统的发展历史1.1 Unix1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑为了解决数量不够用的问题1965 年左后由 贝尔实验室 加入了 麻省理工学...原创 2019-08-03 23:18:52 · 453 阅读 · 0 评论 -
常用 Linux 命令的基本使用
目标理解学习 Linux 终端命令的原因常用 Linux 命令体验01. 学习 Linux 终端命令的原因Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等在职场中,大量的 服务器维护工作 都是在 远程 通过 SSH 客户端 来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成在职场中,作为后端程序员,必须要...原创 2019-08-03 23:24:02 · 265 阅读 · 0 评论 -
Python基础 认识 Python
目标Python 的起源为什么要用 Python?Python 的特点Python 的优缺点01. Python 的起源Python 的创始人为吉多·范罗苏姆(Guido van Rossum)1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉下什么叫牛人)ABC 是由吉多参加设计的一种教学语言,就...原创 2019-08-08 22:06:29 · 117 阅读 · 0 评论 -
Python基础 第一个 Python 程序
目标第一个 HelloPython 程序Python 2.x 与 3.x 版本简介执行 Python 程序的三种方式解释器 —— python / python3交互式 —— ipython集成开发环境 —— PyCharm01. 第一个 HelloPython 程序1.1 Python 源程序的基本概念Python 源程序就是一个特殊格式的文本文件,可以使用任意文本...原创 2019-08-08 22:10:13 · 168 阅读 · 0 评论 -
Python基础 PyCharm 的初始设置
目标恢复 PyCharm 的初始设置第一次启动 PyCharm新建一个 Python 项目设置 PyCharm 的字体显示PyCharm 的升级以及其他PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/01. 恢复 PyCharm 的初始设置PyCharm 的 配置信息 是保存在 用户家目录下 的 .PyCharmxxxx.x...原创 2019-08-08 22:14:24 · 433 阅读 · 0 评论 -
Linux基本命令
目标熟练使用 Linux常用的命令1> 查看文件信息:lsls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“…”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。ls常用参数:图中列出的信息含义如下图所示:与DOS下...原创 2019-08-18 22:15:56 · 300 阅读 · 0 评论 -
Linux 常用服务器ftp、ssh
1. Linux常用服务器构建-ftp服务器ftp服务器FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:...原创 2019-08-18 22:20:34 · 201 阅读 · 0 评论 -
pycharm的集成vim
1. 基本使用激活码BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVjYXRpb25hbCB1c2Ugb25se...原创 2019-08-18 22:24:15 · 188 阅读 · 0 评论 -
编辑器sublime、终端运行python
sublime编辑器Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用)Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Su...原创 2019-08-18 22:26:00 · 924 阅读 · 2 评论 -
Python基础 高级变量类型
目标列表元组字典字符串公共方法变量高级知识点回顾Python 中数据类型可以分为 数字型 和 非数字型数字型整型 (int)浮点型(float)布尔型(bool)真 True 非 0 数 —— 非零即真假 False 0复数型 (complex)主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题非数字型字符串列表元组字典...原创 2019-08-13 23:23:24 · 125 阅读 · 0 评论 -
Python基础 综合应用名片管理系统
综合应用已经学习过的知识点:变量流程控制函数模块开发 名片管理系统系统需求程序启动,显示名片管理系统欢迎界面,并显示功能菜单**************************************************欢迎使用【名片管理系统】V1.01. 新建名片2. 显示全部3. 查询名片0. 退出系统************************...原创 2019-08-13 23:30:01 · 404 阅读 · 0 评论 -
Python基础 变量进阶
目标变量的引用可变和不可变类型局部变量和全局变量01. 变量的引用变量 和 数据 都是保存在 内存 中的在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的1.1 引用的概念在 Python 中变量 和 数据 是分开存储的数据 保存在内存中的一个位置变量 中保存着数据在内存中的地址变量 中 记录数据的地址,就叫做 引用使用 id() 函数...原创 2019-08-13 23:34:39 · 147 阅读 · 0 评论 -
Python基础 函数进阶
目标函数参数和返回值的作用函数的返回值 进阶函数的参数 进阶递归函数01. 函数参数和返回值的作用函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式无参数,无返回值无参数,有返回值有参数,无返回值有参数,有返回值定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的!如果函数 内部处理的数据不确定,就可以将外...原创 2019-08-13 23:39:04 · 309 阅读 · 0 评论 -
Python面向对象(OOP)基本概念
面向对象编程 —— Object Oriented Programming 简写 OOP目标了解 面向对象 基本概念01. 面向对象基本概念我们之前学习的编程方式就是 面向过程 的面相过程 和 面相对象,是两种不同的 编程方式对比 面向过程 的特点,可以更好地了解什么是 面向对象1.1 过程和函数(科普)过程 是早期的一个编程概念过程 类似于函数,只能执行,但是没有返回值函数 ...原创 2019-08-13 23:44:13 · 237 阅读 · 0 评论 -
网络socket简介
1. 不同电脑上的进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用进程(进程)。这样利用ip地址,协议,端口就可以标识网络的进程了,网络中的进程...原创 2019-08-19 23:22:06 · 166 阅读 · 0 评论 -
Python类和对象
01. 类和对象的概念类 和 对象 是 面向对象编程的 两个 核心概念1.1 类类 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用特征 被称为 属性行为 被称为 方法类 就相当于制造飞机时的图纸,是一个 模板,是 负责创建对象的1.2 对象对象 是 由类创建出来的一个具体存在,可以直接使用由 哪一个类 创建出来的 对象,就拥有在 哪一个类 中定义...原创 2019-08-14 23:52:30 · 122 阅读 · 0 评论 -
Pyhton面向对象基础语法
目标dir 内置函数定义简单的类(只包含方法)方法中的 self 参数初始化方法内置方法和属性01. dir 内置函数(知道)在 Python 中 对象几乎是无所不在的,我们之前学习的 变量、数据、函数 都是对象在 Python 中可以使用以下两个方法验证:在 标识符 / 数据 后输入一个 .,然后按下 TAB 键,iPython 会提示该对象能够调用的 方法列表使用内置函数 ...原创 2019-08-14 23:56:10 · 148 阅读 · 0 评论 -
Python面向对象封装案例
目标封装小明爱跑步存放家具01. 封装封装 是面向对象编程的一大特点面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中外界 使用 类 创建 对象,然后 让对象调用方法对象方法的细节 都被 封装 在 类的内部02. 小明爱跑步需求小明 体重 75.0 公斤小明每次 跑步 会减肥 0.5 公斤小明每次 吃东西 体重增加 1 公斤提示:在 对象的方...原创 2019-08-15 00:00:50 · 223 阅读 · 0 评论 -
python进程以及状态
1. 进程程序:例如xxx.py这是程序,是一个静态的进程:一个程序运行起来后,代码+用到的资源 称之为进程,它是操作系统分配资源的基本单元。不仅可以通过线程完成多任务,进程也是可以的2. 进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态就绪态:运行的条件都已经慢去,正在等在cpu执行执行态:cpu...原创 2019-08-23 23:37:32 · 4137 阅读 · 0 评论 -
python进程、线程对比
功能进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ线程,能够完成多任务,比如 一个QQ中的多个聊天窗口定义的不同进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线...原创 2019-08-23 23:38:31 · 186 阅读 · 0 评论 -
python进程间通信-Queue
进程间通信-QueueProcess之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理:#coding=utf-8from multiprocessing import Queueq=Queue(...原创 2019-08-23 23:39:32 · 140 阅读 · 0 评论 -
python进程池Pool
进程池Pool当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数...原创 2019-08-23 23:40:56 · 158 阅读 · 0 评论 -
python应用:文件夹copy器(多进程版)
应用:文件夹copy器(多进程版)import multiprocessingimport osimport timeimport randomdef copy_file(queue, file_name,source_folder_name, dest_folder_name): """copy文件到指定的路径""" f_read = open(source_fo...原创 2019-08-23 23:41:51 · 121 阅读 · 0 评论 -
Python基础 多文件项目的演练
开发 项目 就是开发一个 专门解决一个复杂业务功能的软件通常每 一个项目 就具有一个 独立专属的目录,用于保存 所有和项目相关的文件一个项目通常会包含 很多源文件目标在项目中添加多个文件,并且设置文件的执行多文件项目演练在 01_Python基础 项目中新建一个 hm_02_第2个Python程序.py在 hm_02_第2个Python程序.py 文件中添加一句 pr...原创 2019-08-11 23:17:30 · 349 阅读 · 0 评论 -
Python基础 注释
注释目标注释的作用单行注释(行注释)多行注释(块注释)01. 注释的作用使用用自己熟悉的语言,在程序中对某些代码进行标注说明,增强程序的可读性02. 单行注释(行注释)以 # 开头,# 右边的所有东西都被当做说明文字,而不是真正要执行的程序,只起到辅助说明作用示例代码如下:这是第一个单行注释print(“hello python”)为了保证代码的可读性,#...原创 2019-08-11 23:18:35 · 124 阅读 · 0 评论 -
Python基础 算数运算符
计算机,顾名思义就是负责进行 数学计算 并且 存储计算结果 的电子设备目标算术运算符的基本使用01. 算数运算符算数运算符是 运算符的一种是完成基本的算术运算使用的符号,用来处理四则运算在 Python 中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果In [1]: “-” * 50Out[1]: ‘------------------------...原创 2019-08-11 23:20:16 · 455 阅读 · 0 评论 -
Python基础 程序执行原理
目标计算机中的 三大件程序执行的原理程序的作用01. 计算机中的三大件计算机中包含有较多的硬件,但是一个程序要运行,有 三个 核心的硬件,分别是:CPU中央处理器,是一块超大规模的集成电路负责 处理数据/计算内存临时 存储数据(断电之后,数据会消失)速度快空间小(单位价格高)硬盘永久 存储数据速度慢空间大(单位价格低)思考题计算机中...原创 2019-08-11 23:22:33 · 142 阅读 · 0 评论 -
Python基础 变量的基本使用
变量的基本使用程序就是用来处理数据的,而变量就是用来存储数据的目标变量定义变量的类型变量的命名01. 变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建等号(=)用来给变量赋值= 左边是一个变量名= 右边是存储在变量中的值变量名 = 值变量定义之后,后续就可以直接使用了1) 变量演练1 —— iPython# ...原创 2019-08-11 23:26:41 · 126 阅读 · 0 评论 -
python迭代器
迭代器迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。1. 可迭代对象我们已经知道可以对list、tuple、str等类型的数据使用for…in…的循环语法从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代。但是,是否所有的数据类型都可以放到for…in…的语句中,然后...原创 2019-08-24 23:53:12 · 128 阅读 · 0 评论