自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)

原创 Scrapy-Redis分布式爬虫组件

Scrapy-Redis介绍Scrapy是一个框架,他本身是不支持分布式的。如果我们想要做分布式的爬虫,就需要借助一个组件叫做Scrapy-Redis,这个组件正是利用了Redis可以分布式的功能,集成到Scrapy框架中,使得爬虫可以进行分布式。可以充分的利用资源(多个ip、更多带宽、同步爬取)来提高爬虫的爬行效率。分布式爬虫的优点:可以充分利用多台机器的带宽;可以充分利用多台机器的ip地址...

2019-07-19 09:29:11 82

原创 scrapy的下载器中间件及配置文件

Downloader Middlewares(下载器中间件)下载器中间件是引擎和下载器之间通信的中间件。在这个中间件中我们可以设置代理、更换请求头等来达到反反爬虫的目的。要写下载器中间件,可以在下载器中实现两个方法。一个是process_request(self,request,spider),这个方法是在请求发送之前会执行,还有一个是process_response(self,request,...

2019-07-17 17:03:52 208 4

原创 Scrapy Shell 和 Request、Response对象

Scrapy ShellScrapy提供了一个shell,用来方便的测试规则。当然也不仅仅局限于这一个功能。打开Scrapy Shell开cmd终端,进入到Scrapy项目所在的目录,然后进入到scrapy框架所在的虚拟环境中,输入命令scrapy shell [链接]。就会进入到scrapy的shell环境中。在这个环境中,你可以跟在爬虫的parse方法中一样使用了。Request对象...

2019-07-16 08:36:20 414

原创 CrawlSpider模板

CrawlSpider的功能只要满足某个条件的url,都给我进行爬取。那么这时候我们就可以通过CrawlSpider来帮我们完成了。CrawlSpider继承自Spider,只不过是在之前的基础之上增加了新的功能,可以定义爬取的url的规则,以后scrapy碰到满足条件的url都进行爬取,而不用手动的yield Request。创建CrawlSpider爬虫如果想要创建CrawlSpider...

2019-06-14 19:00:37 73

原创 Scrapy基础

Scrapy框架架构什么是Scrapy框架scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy 使用了 Twisted(其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy架构图各模块的功能:...

2019-06-07 09:55:59 127

原创 selenium+chromdriver获取AJAX数据

注:本文参考了网易云知了课堂课件笔记。AJAX定义AJAX(Asynchronouse JavaScript And XML)异步JavaScript和XML。在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须重载整个网页页面。因为传统的在传输数据格式方面,使用的...

2019-06-03 17:52:47 2953

原创 MongoDB数据库操作

什么是MongoDB数据库MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据...

2019-05-13 10:07:14 27

原创 json、csv文本处理

json概念及支持的数据格式JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。...

2019-04-29 09:31:00 61

原创 xpath语法与lxml库

什么是XPathxpath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。XPath开发工具1.Chrome插件XPath Helper。2. Firefox插件Try XPath。XPath语法选取节点:XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规...

2019-04-20 10:59:48 109

原创 UDP协议

什么是UDPUDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP的特点无连接不可靠UDP协议责任1.创建进程到进程间的通信(由端口号完成)2.有限的差错控制,出现差错悄悄丢弃报文...

2019-04-01 16:12:44 68

原创 TCP 协议

传输层协议作用1.分段及封装应用层送来的数据2.提供端到端的传输服务3.在发送主机与接收主机之间构建逻辑通信4.包括两个协议:1)TCP2)UDP怎样提供的逻辑通信:两台主机进程间通信条件本地主机(IP地址定义)本地进程(端口定义)远程主机(IP地址定义)远程进程(端口定义)端口范围熟知端口(著名端口):0-1023,由ICANN指派注册端口:1024-49151...

2019-04-01 11:20:46 88

原创 ICMP互联网控制协议

IP的缺点1.无差错报告和差错纠正机制2.缺少一种为主机和管理查询的机制ICMP的概念ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据...

2019-03-28 11:07:37 69

原创 IP、ARP

网络层协议1.IP协议2.ARP协议3.RARP协议4.ICMP协议IP协议IP协议是将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之为数据包的东西,它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求。功能:寻址和路由传递服务(不可靠,可靠性由上层协议提供;无连接)数据报分段和重组下面是IP报文格式:IP报文的首部大小为20~60字节,其中固定部...

2019-03-27 17:22:18 516

原创 TCP/IP协议簇简要概述及网络接口层

TCP/IP体系结构可分为四个层次第4层:应用层服务于Telnet、ftp、Smtp等,负责处理特定的应用程序细节。第3层:传输层包括TCP和UDP,TCP是一个可靠的面向连接的协议,保障某一主机的字节流准确无误地投递到互联网上的另一台主机;UDP是无连接的服务,无重发和纠错功能,不保证数据的可靠传输。第2层:网络层包括IP、ICM和IGMP,也称互联层,其主要的任务是路径选择,...

2019-03-23 16:53:25 423

原创 网络通信协议的概念及OSI参考模型

一 网络协议的概念网络协议:计算机网络和分布系统中互相通信的对等实体之间交换信息时必须遵守的规则的集合网络体系结构:指通信系统的整体设计方法,是计算机之间相互通信的层次、以及各层中协议和层次之间接口的集合,它为网络硬件、软件、协议、存取控制和网络拓扑提供标准SNA:IBM公司独立开发的适合自己公司的网络体系结构,System Network ArchitectureDNA:DEC公司独立...

2019-03-23 09:44:37 261

原创 Django写个人博客

环境搭建创建虚拟环境:conda create -n Blog python==3.6进入虚拟环境并安装django:source activate Blogpip install django==1.10用命令创建一个BlogProject的django项目:django-admin startproject BlogProject打开BlogProject:设置环境项目的...

2019-03-07 19:26:18 322

原创 Django 图书-英雄

环境创建创建虚拟环境:conda create -n django python==3.6进入环境:source activate django安装Django:pip install Django ==1.10创建Django工程:数据库迁移(文件数据库):python manage.py makemigrationspython manage.py migrate运行D...

2018-11-17 20:49:50 256

原创 常用Flask的插件bootstrap wtf sqlalchemy migrate及script

flask_bootstrap如何在flask中使用Boostrap?要想在程序中集成Bootstrap,显然要对模板做所有必要的改动。不过,更简单的方法是使用一个名为Flask-Bootstrap 的Flask 扩展,简化集成的过程。Flask-Bootstrap 使用pip安装:pip install flask_bootstrapFlask 扩展一般都在创建程序实例时初始化,...

2018-11-01 13:54:52 150

原创 基于Flask与Mariadb实现任务清单管理

目标本项目将学习 Mariadb 作为数据库后端,Bootstrap 作为前端的技术栈,并实现一个清单应用。从中我们可以学习 Flask Web 应用框架,及 Mariadb 关系型数据库和 BootStrap web开发框架。项目介绍本应用修改自 TodoMVC 的 todo list 应用,使用 Mariadb 作为数据库后端,Bootstrap 作为前端的 Flask 应用。先给它起个...

2018-10-26 22:56:07 351

原创 Flask框架及jinja2引擎模版

什么是Flask框架?Flask是一个使用 Python 编写的轻量级 Web 应用框架。

2018-10-26 19:58:59 1210

原创 BeautifulSoup及爬取豆瓣评论

BS4的理解BS4会将html文档对象转换为python可以识别的四种对象:Tag: 标签对象NavigableString : 字符内容操作对象BeautifulSoup: 文档对象Comment:是一个特殊类型的 NavigableString 对象floating.html:<!DOCTYPE html><html lang=&amp

2018-10-19 23:13:37 2811 1

原创 爬虫urllib库及requests模块

什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。例如:给个网址,可以获取到该网址里边的(图片, url, 视频, 文件)等信息。浏览网页时经历的过程浏览器 (请求request)-> 输入URL地址(http://www....

2018-10-18 16:40:51 182

原创 正则表达式

通配符通配符的内容: * : 匹配0到任意字符 ? : 匹配单个字符 . : 当前 .. : 当前的上一级 [0-9]: 0到9的任意一个数字 [a-z]: a到z的任意一个字母 [A-Z]: A到Z的任意一个字母 [a-zA-Z]: a到...

2018-10-12 17:53:30 310

原创 项目实战:news网页

下载bootstraphttps://getbootstrap.com/docs/4.1/getting-started/download/解压到本地目录:- css: bootstrap.min.css- font: 所有文件- js: bootstrap.min.js创建项目newsnews├── css│ ├── bootstrap.min.css│ └── ...

2018-10-11 10:35:11 147

原创 JavaScript

JavaScript的简介JavaScript 是一种轻量级的编程语言。JavaScript 是可插入 HTML 页面的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。在此后简称JSJS注册表单的检验需求:1). 用户在注册的时候会输入一些信息, 但是用户输入的内容有可能不合法, 会导致服务器端压力过大;2). 当用户填写信息之后, 对填写的信息...

2018-10-07 16:07:06 65

原创 HTML及CSS

HTML基本结构#使用的是html的哪个版本, 此处是html5<!DOCTYPE html>#主体 例如人基本结构<html lang="en">#大脑<head> #字符编码

2018-09-28 21:55:00 98

原创 python 协程及socket网络编程

协程什么是协程协程,英文Coroutines,是一种比线程更加轻量级的存在。正如一个进程可以拥有多个线程一样,一个线程也可以拥有多个协程。最重要的是,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在用户态执行)。这样带来的好处就是性能得到了很大的提升,不会像线程切换那样消耗资源。协程优势:有较高的执行效率, 始终只有一个线程, 不存在创建线程和销毁线程需要的时间;也没有...

2018-09-26 19:55:48 659

原创 客户端,服务端

C/S方式, 客户端发送一条命令, 服务端返回命令的执行结果;服务端:import osimport socketserver = socket.socket()server.bind(('172.25.254.78',9001))server.listen()print("服务端已经启动9001端口....")sockobj,address = server.accept()...

2018-09-22 21:04:45 103

原创 python 进程

linux创建子进程Linux创建子进程的原理:1). 父进程和子进程, 如果父进程结束, 子进程也随之结束;2). x先有父进程, 再有子进程, 通过fork函数实现;fork函数的返回值:调用该方法一次, 返回两次;产生的子进程返回一个0父进程返回子进程的pid;Window也能使用fork函数么?Windows没有fork函数, Mac有fork函数(Un...

2018-09-19 19:05:34 75

原创 python 线程

进程 线程的理解程序: /bin/firefox一个二进制程序, 也可以包含任意可执行的程序, 是一个真实存在的实体。进程: 执行程序过程中产生一系列内容.(进程信息存储)线程: 每个进程里面至少包含一个主线程, (firefox里面有多个table)多进程:浏览器,网易云音乐以及pycharm 三个软件只能顺序执行是怎样一种场景呢?本来在python编程时想要听个古典音乐来点灵感, ...

2018-09-18 21:33:16 59

原创 difflib paramiko模块

difflib模块import difflib# 1. 以字符串方式展示两个文本的不同, 效果如下:text1 = ''' 1. Beautiful is better than ugly. 2. Explicit is better than implicit. 3. Simple is better than complex. 4. Complex ...

2018-09-12 12:53:08 73

原创 python os sys time datetime openpyxl json 模块

os模块• 为访问操作系统的特定熟悉提供方法 • 提供了对平台模块的封装(对 windows, 对 mac 的封 装等)import os# 1). 返回操作系统类型, 值为posix,是Linux操作系统, 值为nt, 是windows操作系统print(os.name)# 2). 操作系统的详细信息info = os.uname()print(info)# 3). 系统...

2018-09-11 19:07:07 84

原创 python数据库编程

连接数据库创建连接时,就指定: pymysql.connect(host=’172.25.254.178”, user=’cooffee”, password=’cooffee”, charset=’utf8’, autocommit=True) # host(要连接的主机ip), user(用户), passwd(用户密码), char...

2018-09-06 13:02:29 668

原创 mariadb数据库指令

mariadb数据库1.安装mysqlyum search mariadb 查找与mariadb相关的软件包yum install mariadb mariadb-server -y 安装maridb的server软件和client软件启动mariadb服务systemctl start mariadbsystemctl enable mariadb...

2018-09-05 22:53:18 289

原创 python Anaconda的使用及2048游戏(单,双版)

Anaconda的使用管理虚拟环境创建虚拟环境 conda create -n env_name [packages…..] python=version conda conda create -n 2048py_3.7 python=3.6启动虚拟环境 source activate env_name source activate 2048p...

2018-09-04 20:32:16 298

原创 python异常处理

常见的异常在程序运行过程中影响程序正常运行的内容, 称为异常. NameErrorprint(a)IndexError: 索引错误li = [1,2,3,4]print(li[8])KeyError d = dict(a=1, b=2)print(d['f'])ZeroDivisionError: 除0错误 print(10/(2-2))...

2018-09-03 12:28:24 2334

原创 python类(二)

构造方法与析构方法构造方法: def _ init _(self) 在实例化对象时自动执行。 析构方法: def _ def _(self) 当删除对象时,自动调用的方法。 eg:class People(object): # 实例化对象时自动执行 def __init__(self, name, age): # 把属性和对象名绑定在一起, 便于...

2018-09-02 22:43:18 126

原创 python类(一)

类与对象的理解类:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。一个模板, (人类)—是一个抽象的, 没有实体的对象:通过类定义的数据结构实例。(eg: 张三, 李四)属性: (表示这类东西的特征, 眼睛, 嘴巴, 鼻子)方法:类中定义的函数。(表示这类物体可以做的事情, eg: 吃饭, 睡觉,学习) eg:定义一个人类#...

2018-09-02 13:42:48 596

原创 python对文件的操作及相关的os

文件的读取文件读取的三步曲:打开—–操作—–关闭 eg:f=open('/tmp/passwd') #打开文件print(f)content=f.read() #读取文件print(content)f.close() #关闭文件 - 文件读取模式的选择 r: 只能读,不能写; 读取的文件不存...

2018-09-01 17:13:28 282

原创 python之初识模块与包

模块模块的定义Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。包括:内置模块,自定义模块,第三方模块;#列举一些模块impo...

2018-08-22 15:41:44 94

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除