
基础篇
文章平均质量分 89
一杯海风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python——代码版本管理-Git和GitHub
目录:1.什么是Git2.Git安装配置3.Git工作流程4.Git工作区、暂存区和版本库5.创建仓库6.基本操作7.分支管理8.查看提交历史9.标签标记10.远程仓库11.服务器搭建12.开发工具继承13.案例:通过SSH协同开发应用1.什么是Git1-1.GitGit是一个开源的分布式版本控制系统,用于敏捷高效的处理任何项目的版本原创 2018-01-20 11:36:00 · 10785 阅读 · 1 评论 -
Python爬虫——5-2.使用selenium和phantomjs模拟QQ空间登录
# -*-coding:utf-8 -*-'''使用selenium和phantomjs登录qq空间'''from selenium import webdriverimport time# 启动phantomjs无界面浏览器browser=webdriver.Chrome()# 打开qq空间登录界面browser.get('https://qzone.qq.com/')#原创 2018-01-15 20:07:01 · 1093 阅读 · 0 评论 -
Python爬虫——5.selenium自动化测试工具和phantomjs无界面浏览器
一. selenium自动化测试工具关于自动化测试:在做自动化测试之前你需要知道的,http://www.cnblogs.com/fnng/p/3653793.html1.什么是selenium和phantomjs?selenium是一个web自动化测试工具,主要流行于web测试工程师的工作中常规的web项目在开发完成后要对可用性进行测试,项目开发完成之后,通常原创 2018-01-15 16:30:47 · 3772 阅读 · 0 评论 -
Python爬虫——4.6使用requests和正则表达式、随机代理爬取淘宝网商品信息
# coding:utf-8'''使用requests模块,使用代理,进行淘宝网商品信息的爬取'''# 引入需要的模块import requestsimport randomimport refrom lxml import etree# 定义免费代理列表proxy_list = [{"http": "116.8.83.3:8118"}, {"http": "116.8.83原创 2018-01-15 09:13:53 · 1737 阅读 · 0 评论 -
Python爬虫——4.5urllib2和xpath爬取前程无忧网招聘信息
# coding:utf-8'''使用urllib2模块进行数据采集,使用XPath进行数据筛选,使用随机免费代理'''# 引入需要的模块import urllib2from lxml import etreeimport random# 免费代理列表proxy_list = [{"http":"116.8.83.3:8118"}, {"http":"116.8.83.3:原创 2018-01-15 09:11:14 · 1249 阅读 · 0 评论 -
Python爬虫——4.4爬虫案例——requests和xpath爬取招聘网站信息
# -*-coding:utf-8 -*-'''使用requests模块进行数据采集,XPath进行数据筛选'''import requestsfrom lxml import etree# 定义访问路由url='http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC%2B%E4%B8%8A%E6%B5%原创 2018-01-15 09:09:00 · 2549 阅读 · 1 评论 -
Python爬虫——4-3.BeautifulSoup4(BS4)
对于HTML/XML数据的筛选,BeautifulSoup也是比较常用且使用简单的技术,BeautifulSoup是一种非常优雅的专门用于进行HTML/XML数据解析的一种描述语言,可以很好的分析和筛选HTML/XML这样的标记文档中的指定规则数据在数据筛选过程中其基础技术是通过封装HTML DOM树实现的一种DOM操作,通过加载网页文档对象的形式,从文档对象树模型中获取目标数据Beaut原创 2018-01-13 09:27:28 · 17643 阅读 · 2 评论 -
Python爬虫——4-2.数据筛选之XPath
爬虫数据筛选——XPath 在使用爬虫爬取的数据可以分为两种,非结构化数据:数据的内容没有固定的格式和规范,如用户名、邮箱、账号、电话号码、地址、电影名称、评分、评论、商品名称等等,对此类数据的筛选我们一般使用正则表达式,效率较高且非常精准,而对于一些有特定规范的数据如HTML网页文档、XML网页文档、JSON等等,由于数据本身存在一定的规律性,可以通过针对这些规律的分析工具进行原创 2018-01-12 21:52:25 · 3682 阅读 · 0 评论 -
Python爬虫——4-1.数据筛选之正则表达式
一、关于正则表达式的回顾正则表达式两种操作:核心操作和快捷操作核心操作:通过re模块的compile函数,将正则字符串编译成匹配对象,通过匹配对象对字符串进行匹配如:reg="my"pattern=re.compile(reg)str="my nama is youya ,my age is 20!"pattern.match(str)快捷操作:直接使用re模块的match原创 2018-01-12 21:49:28 · 3501 阅读 · 0 评论 -
Tornado——异步操作(前端ajax和后端同步/异步操作)
异步编程:异步编程处理方式,主要用于数据业务的底层非同步操作,有两种操作手段,Ajax和后端服务器的异步模块。1.AjaxAjax的异步操作:通过前端直接发送Ajax请求到目标服务器(以获取天气信息为例,发送请求到气象局),获取数据并更新前端页面,此操作不需要经过后端。获取到数据后通过DOM操作渲染页面。html>html lang="en">head> meta ch原创 2017-12-28 12:33:37 · 3204 阅读 · 0 评论 -
Python爬虫——6.Tesseract机器视觉(配合python内置的PIL即pillow模块)
tesseract机器视觉图形识别google公司的一个python模块,同时也提供了一个独立的软件,开源之后主要给行业提供更加方便的图形机器操作,让更多的人可以很简单的参与到人工智能的行列中!后续~建议大家可以参考学习一下google公司的tensserflow机器学习框架!tensseract:上谷歌的网站,下载tesseract并安装,windows|macos|linux,下载原创 2018-01-15 20:10:32 · 839 阅读 · 0 评论 -
Python爬虫——7-1.scrapy框架案例-爬取内涵段子
案例分析:1.该网站的数据是保存的Json文件中的,所以要首先使用抓包工具,抓取包含该json文件的url地址作为爬取入口。爬取到的Json文件比较适合使用re正则表达式进行数据的筛选。若是数据直接渲染在网页中,则比较推荐使用Xpath语法。2.分析items.py中的数据类型,这里只爬取了段子,即只有一个字段:content3.写爬虫程序,可以首先将筛选的数据保存在本地文件表格中,观原创 2018-01-17 10:36:56 · 867 阅读 · 0 评论 -
Webpy——快速入门小程序
参考官网:http://webpy.org/docs/0.3/一、webpy安装推荐设置.另外一个选择是使用Easy Install. Easy Install 使用如下:easy_install web.py或者 PIPsudo pip install web.py二、快速入门1.简单的小程序——hello_world.pyimpor原创 2018-01-08 21:03:50 · 3902 阅读 · 0 评论 -
Python爬虫——3.requests模块和python2编码问题
一、python2第三方模块:requests模块requests模块的常规操作:1.实际爬虫项目中,使用最多的一个模块2. requests基础操作3.请求头封装4.不同请求方式5. 请求中的参数requests模块是实际项目中常用的爬虫操作模块,相对于urllib2模块,requests模块对多种请求和传参问题进行了高度的封装equests:第三方封装的原创 2018-01-10 20:09:08 · 675 阅读 · 0 评论 -
Python——redis操作手册
Redis操作手册一、Redis简介1.概述Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。原创 2018-01-18 17:25:40 · 1466 阅读 · 0 评论 -
Python——1.爬虫及http状态码详解
网络爬虫[web spider](~搜索引擎|百度|360搜索|搜狗搜索|谷歌~)概念:将网络上的所有网站的数据,通过一种实时运行在网络上的程序,访问并且复制这些数据的摘要内容,存放在自己的服务器中,方便搜索引擎的用户可以快捷的从这些摘要内容中检索到自己需要的数据,然后引导用户从摘要内容转发连接到实际内容的访问过程!爬虫程序:一种实时运行在网络上的程序[可以使用任何语言编写,python更原创 2018-01-08 21:03:03 · 4765 阅读 · 0 评论 -
Python爬虫——2.底层操作和请求头、请求代理以及cookie操作
一、爬虫底层操作和请求头的设置1.demo01_爬虫底层操作虽然urllib2模块是爬虫的底层操作,但并不是程序的底层操作,在其内部的urlopen函数也是有自己封装的内容,实则参数为一个request即请求对象。# -*- coding:utf-8 -*-# 引入需要的模块import urllib2# 定义urlurl='https://www.taobao.com'原创 2018-01-09 21:15:43 · 2975 阅读 · 0 评论 -
Python爬虫——8.scrapy—深度爬取
还是以前面文章提到的爬取智联招聘数据为例,首先分析一下网页特征,要爬取的数据职位名称、公司名称、职位月薪这些数据是直接渲染在网页中的,所谓的深度爬取则是在只抓取一个url的情况下获取该页面上其他页面的链接,然后将这些url加入到urljoin()中进行一一爬取。以下是简单的scrapy框架的底层图解:1.首先,让我们先创建一个scrapy项目:python2 -m scrapy startproj原创 2018-01-17 18:00:09 · 6395 阅读 · 0 评论 -
Python爬虫——8-1.scrapy深度爬取案例—百思不得姐
对于scrapy框架的使用,爬取数据,多次运行命令行也是比较头疼和麻烦的,这里建议Windows+R键输入cmd进入命令行,切入至项目所在目录后执行scrapy shell url’命令,可以很直观的检测程序是否出错,如xpath匹配路径是否正确获取数据,这是一个用于简单测试的非常便捷的方法。1.创建项目:scrapy startprojet budejie2.定义数据模型文件——items.p原创 2018-01-17 21:57:55 · 2158 阅读 · 0 评论 -
Python爬虫——9.scrapy框架get/post请求
接触了这么久的scrapy框架,你是否会疑惑,在scrapy底层,代码到底是怎么运行的呢?原来由一个起始url,通过scrapy.Request()函数会默认封装为一个get请求对象,该对象触发找到引擎模块scrapy.engine,引擎模块指向调度模块scrapy.schedule,调度模块接收到后对start_urls列表进行有序排列,然后将信息返回给引擎,引擎转而启动下载模块进行数据的采集,原创 2018-01-17 20:46:58 · 5351 阅读 · 0 评论 -
Python爬虫——7.Scrapy框架
一. scrapy概述官方网站:http://scrapy.org [orginzation]使用Python开发的主要进行数据采集的一个应用程序框架,核心使用它来进行爬虫程序的快速开发,底层使用了twisted异步模块,所以在进行数据采集下载时效率非常高!1.ubuntu/macos 下,在有完善的python环境的基础上直接安装 scrapy2.windows下:注原创 2018-01-16 19:21:30 · 641 阅读 · 0 评论 -
web开发——4.一个完整的web项目和子应用程序的创建以及数据模型操作的两种方法
一、创建一个完整的web项目1.在pycharm命令行中输入命令: django-admin startproject myweb,即可创建一个新的web项目新的web项目包含如下文件结构:原创 2018-01-08 21:11:50 · 1660 阅读 · 0 评论 -
Flask——1.初识flask微框架
1. FLASK 概述Flask是使用python语言编写的一个轻量级的web框架内部WSGI实现采用Werkzeug,模板引擎使用Jinja2,使用BSD授权开源在行业中,Flask也被称为microframework(微框架),因为Flask使用简单的核心操作,通过extension增加额外的功能,并且Flask没有默认的数据库和表单验证等支持2. QUICK START2.1. Instal原创 2018-01-02 13:41:42 · 788 阅读 · 0 评论 -
Tornado——WebSocket长连接—聊天室案例
一、基本的文件结构二、文件内容1.index.html该文件为聊天室登录页面,通过在该页面输入的昵称,用以在聊天页面展示html>html lang="en">head> meta charset="UTF-8"> title>登录首页title> link rel="stylesheet" href="/static/libs/bootst原创 2018-01-02 09:35:25 · 4728 阅读 · 2 评论 -
web开发——3.数据模型概念
1-1 主要内容 数据库相关回顾数据类型的概念数据类型的定义数据类型的查询【单表查询】1-2 课程内容1. 复习回顾1.1. 概念整理回顾a. Django有什么样的开发优势?Django以其高效的开发效率著称,作为实现了MVT处理模式的web框架,内建封装好的数据模型的ORM高效操作、强大的模板支持、高性能的缓存处理、完善的管理后台以及原创 2017-11-29 20:40:42 · 1529 阅读 · 0 评论 -
Python高级编程——3.深浅拷贝
1 赋值将一个变量赋值给另一个变量,这个过程叫做赋值。赋值会导致多个变量同时指向一块内存,所以此时不管是==或者is都返回True所以当一个变量发生变化,另一个也随之发生变化。但是整数型、字符串、元祖除外,这是因为在整数型中为一个变量a赋值后,a保存的是对应数值的地址,b=a则是将a中的地址传给了b,若a又被赋值,则系统为a重新分配了地址,而b中始终保存的就是原来a的地址。原创 2017-10-31 19:51:39 · 331 阅读 · 0 评论 -
Python高级编程——5.迭代器(generator)
1 可迭代对象以直接作用于 for 循环的数据类型有以下几种:一类是集合数据类型,如 list 、 tuple 、 dict 、 set 、 str 等。(此类可迭代对象不是迭代器);一类是 generator ,包括生成器和带 yield 的generator function。(此类可迭代对象也是迭代器)。这些可以直接作用于 for 循环的对象统称为可迭代对象: Iterabl原创 2017-11-01 14:12:38 · 365 阅读 · 0 评论 -
Python高级编程——6.函数
递归、函数变量赋值、参数中的函数、匿名函数、闭包、偏函数一、递归:函数的递归,就是让在函数的内部调用函数自身的情况,这个函数就是递归函数。注意:递归一定要有结束条件,否则就会成为一个死循环。以下是两个递归函数的例子:执行结果:二、函数变量赋值:我们可以将一个函数赋值给一个变量(注意,不是调用哦,下图t1的例子),这时这个变量也会指向该函数。原创 2017-11-01 17:49:34 · 238 阅读 · 0 评论 -
Python高级编程——7.装饰器
一、装饰器装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼。装饰器的功能,就是在运行代码原来功能基础上,加上一些其它功能,比如权限的验证,比如日志的记录等等。不修改原来的代码,进行功能的扩展,使代码的功能更强大。比如java中的动态代理,python的注解装饰器。写代码要遵循开放封闭原则(OCP),虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说原创 2017-11-02 13:41:33 · 528 阅读 · 0 评论 -
Python高级编程——1.包(lib)和模块(module)
在Python中,存在包和模块两个常见概念。模块:编写Python代码的py文件包:用来分门别类存放模块代码的文件夹,【一般存在一个__init__.py文件】一、模块的几种导入方式:__init__.py文件:__all__变量的使用:__init__.py文件中导入其他模块文件,推荐使用from . import xxx可以使用别原创 2017-10-31 18:51:32 · 535 阅读 · 0 评论 -
Python高级编程——14.网络编程
Python高级--网络编程(socket)一、⽹络通信概述1.What-什么是⽹络网络是由节点和连线构成,表示诸多对象及其相互联系。在计算机世界里,⽹络就是⼀种辅助双⽅或者多⽅能够连接在⼀起的⼯具。2.Why-为什么使用网络就是为了联通多⽅然后进⾏通信⽤的,即把数据从⼀⽅传递给另外⼀⽅前⾯的学习编写的程序都是单机的,即不能和其他电脑上的程序进⾏通信为了让在不同的电原创 2017-11-10 21:24:18 · 1276 阅读 · 0 评论 -
Python高级编程——15.新式类和经典类的区别
1.新式类对象可以直接通过__class__属性获取自身类型:type2. 继承搜索的顺序发生了改变,经典类多继承属性搜索顺序: 先深入继承树左侧,再返回,开始找右侧;新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动3. 新式类增加了__slots__内置属性, 可以把实例属性的种类锁定到__slots__规定的范围之中。通常每一个实例都会有一个__dict__属转载 2017-11-09 18:53:21 · 187 阅读 · 0 评论 -
Python高级编程——12.(2)系统编程之多线程
一、多线程与多进程的效率对比(1)多线程from threading import Thread,current_thread # 多线程 current_thread 当前线程import timedef run(msg): print("这个是独立线程运行的代码",msg) time.sleep(1)if __name__ == '__m原创 2017-11-08 21:22:25 · 293 阅读 · 0 评论 -
Python高级编程——12. (1)系统编程之多进程
一.os模块中的fork方法(只在linux系统中使用,Windows系统不可用)Python在os模块上封装了常用的系统调用,其中就包括了fork,我们可以很轻松地在Python代码中创建进程。import os, timedef sing(): for x in range(5): print("在唱歌") time.sleep(1原创 2017-11-08 20:52:19 · 368 阅读 · 0 评论 -
Python高级编程——2.is和==
is:判断的是两个内存地址是否一致==:判断的是两个变量的值是否一致以上例子说明了is和==的区别,即a和b的值相等,但是在内存中的地址不一样,所以a==b返回的是True,a is b返回的是False。声明a=1000时,是在堆内存中为a开辟了一个值为1000的空间,a中保存的是这个数值的地址,b=1000,这时在内存中又开辟了一个值为1000的地址,在b中保存了该地址原创 2017-10-31 19:27:38 · 289 阅读 · 0 评论 -
Python高级——正则表达式 re模块1.match方法
python:正则表达式一、什么是正则表达式正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于匹配和替换文本。正则表达式,是一个独立的技术,很多编程语言支持正则表达式处理。Wiki:正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配原创 2017-11-03 12:04:06 · 113991 阅读 · 7 评论 -
Python——数据库——非关系数据库(Nosql)-redis
常见[NoSQL]数据库列存储:Hbase、Cassandra、Hypertable文档存储:MongoDB、CouchDB k-v存储:TokyoCabinet、BerkeleyDB、MemcacheDB、redis 对象存储:Neo4J、VersantXml数据库:BerkeleyDB、BaseXredis:存储在内存中的键值对,主要用于做缓存。原创 2017-11-01 19:15:24 · 481 阅读 · 0 评论 -
Web前端——3.JavaScript对象
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,ECMAScript,描述了该语言的语法和基本对象。 文档对象模型(DOM),描述处理网页内容的方法和接口。浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。常用于:1.表单验证2.HTML特效转载 2017-11-20 21:28:54 · 689 阅读 · 0 评论 -
Python高级编程——11.内置函数大全
Build-in Function,启动python解释器,输入dir(__builtins__), 可以看到很多python解释器启动后默认加载的属性和函数,这些函数称之为内建函数, 这些函数因为在编程时使用较多,cpython解释器用c语言实现了这些函数,启动解释器 时默认加载。下面对以上的函数一一介绍并且示例:1.abs()描述abs() 函数返回数字的绝原创 2017-11-04 16:19:04 · 1382 阅读 · 0 评论 -
Web前端——2.css选择器
css样式大全 参考网站:http://www.w3school.com.cn/cssref/index.asp 1.字体样式①font:修饰字体的快捷样式font:字体 大小; (大小要写像素)font—family: 字体;font—size:**px; 表示多大字号font-family:原创 2017-11-20 13:42:04 · 240 阅读 · 0 评论