2018年1月3日

十九 Django框架,发送邮件

摘要: 全局配置settings.py send_mail() 每次发邮件都会建立一个连接,发多封邮件时建立多个连接 send_mass_mail() 是建立单个连接发送多封邮件,所以一次性发送多封邮件时 send_mass_mail 要优于 send_mail。 如果我们想在邮件中添加附件,发送 html 阅读全文

posted @ 2018-01-03 13:01 快乐糖果屋 阅读(332) 评论(0) 推荐(0)

十八 Django框架,生成二维码

摘要: 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 Python中调用: Django 中使用 html 路由映射 逻辑处理 阅读全文

posted @ 2018-01-03 12:06 快乐糖果屋 阅读(611) 评论(0) 推荐(0)

十七 Django框架,文件上传

摘要: 1、自定义上传【推荐】 请求对象.FILES.get()获取上传文件的对象上传对象.name获取上传文件名称上传对象.chunks()获取上传数据包,字节码类型 html 逻辑处理 内置方式 表单验证模块 数据库操作Models模块 逻辑处理模块 阅读全文

posted @ 2018-01-03 12:05 快乐糖果屋 阅读(303) 评论(0) 推荐(0)

十六 Django框架,信号

摘要: Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 也就是当程序有指定动作时,触发一个信号函数 1、Django内置信号 信号的使用 首先在app项目的__init__.py 这个文件,设置信号行为,因为这个文件是所有 阅读全文

posted @ 2018-01-03 12:04 快乐糖果屋 阅读(185) 评论(0) 推荐(0)

十五 Django框架,缓存

摘要: 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到 阅读全文

posted @ 2018-01-03 12:03 快乐糖果屋 阅读(228) 评论(0) 推荐(0)

十四 Django框架,中间件

摘要: django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 在django项目的settings模块中,有一个 MIDDLEWARE变量,其中每一个元素就是一个中间件(也就是一个中间件 阅读全文

posted @ 2018-01-03 12:02 快乐糖果屋 阅读(221) 评论(0) 推荐(0)

十三 Django框架,CSRF跨站请求伪造

摘要: 全局CSRF 如果要启用防止CSRF跨站请求伪造,就需要在中间件开启CSRF 注意:一旦开启了csrf提交表单时会出现403错误,必须结合两个步骤来使用 第一、页面响应返回必须由render()方法 第二、必须在html页面的<form>标签里用上模板语言{% csrf_token %} <form 阅读全文

posted @ 2018-01-03 12:01 快乐糖果屋 阅读(212) 评论(0) 推荐(0)

十二 Django框架,自定义分页

摘要: 自定义分页模块 逻辑处理 html 阅读全文

posted @ 2018-01-03 12:00 快乐糖果屋 阅读(260) 评论(0) 推荐(0)

十一 Django框架,Session

摘要: Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 1、数据库(默认)2、缓存3、文件4、缓存+数据库5、加密cookie 1、数据库Session,保存在数据库 Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django 阅读全文

posted @ 2018-01-03 11:59 快乐糖果屋 阅读(253) 评论(0) 推荐(0)

十 Django框架,Cookie

摘要: 注意:获取Cookie是在请求对象里处理,设置Cookie是在响应对象里处理 普通Cookieset_cookie()设置普通cookie 参数: key, 键 value='', 值 max_age=None, 超时时间,秒,也支持时间戳 expires=None, 超时时间(IE require 阅读全文

posted @ 2018-01-03 11:58 快乐糖果屋 阅读(241) 评论(0) 推荐(0)

九 Django框架,Form表单验证

摘要: 表单提交 html 路由映射 逻辑处理 method属性获取用户请求方式,post或者get使用方式:请求对象.method POST获取用户post请求方式的信息使用方式:请求对象.POST POST.get()获取用户POST请求方式的表单name名称对应的值,参数是表单name名 表单提交验证 阅读全文

posted @ 2018-01-03 11:57 快乐糖果屋 阅读(291) 评论(0) 推荐(0)

八 Django框架,模板语言

摘要: 模板语言就是可以将动态数据在html模板渲染的语言 一、接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到html用模板语言渲染 {{...}}接收一个变量或者值进行渲染 逻辑处理 html 二、接收值,运行代码块 for循环 {% for item 阅读全文

posted @ 2018-01-03 11:56 快乐糖果屋 阅读(254) 评论(0) 推荐(0)

七 Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化

摘要: F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from django.db.models import F Q()运算符:|或者、&并且 实列: 执行原生SQL queryset对象序列化 django的json类型模块serialize() list()将queryset对 阅读全文

posted @ 2018-01-03 11:55 快乐糖果屋 阅读(1533) 评论(0) 推荐(0)

六 Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多

摘要: 链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.ForeignKey()外键字段一对多,值是要外键的表类 正向查找,也就是通过表的外键,查找到外键连接的表里的数据 链表查询之了不起的__双下划线 也就是一般普通查询外键字段时,得到的是另外一张表的主键值, __双 阅读全文

posted @ 2018-01-03 11:54 快乐糖果屋 阅读(325) 评论(0) 推荐(0)

五 Django框架,models.py模块,数据库操作——表类容的增删改查

摘要: Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法,写入数据 第二种方式:表类名称.objects.create(字段=值) 第三种方式【推荐】 查询数 阅读全文

posted @ 2018-01-03 11:53 快乐糖果屋 阅读(408) 评论(0) 推荐(0)

四 Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置

摘要: Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库。 1,django默认使用sqlite的数据库,默认自带 阅读全文

posted @ 2018-01-03 11:52 快乐糖果屋 阅读(4983) 评论(0) 推荐(0)

三 Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性

摘要: Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRequest对象 http响应:HttpResponse对象 所在位置:django.http 之前我 阅读全文

posted @ 2018-01-03 11:50 快乐糖果屋 阅读(567) 评论(0) 推荐(0)

二 Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器

摘要: Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一、urls.py模块 这个模块是配置路由映射的模块,当用户访问一个url地址时,通过这个路由映射模块,映射给对应的逻辑处理函数 urlpatterns等于的一个列表, 阅读全文

posted @ 2018-01-03 11:48 快乐糖果屋 阅读(2671) 评论(0) 推荐(0)

一 Django框架介绍——用pycharm创建Django项目

摘要: Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。 这套框架是 阅读全文

posted @ 2018-01-03 11:47 快乐糖果屋 阅读(2151) 评论(0) 推荐(0)

五十一 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapyd部署scrapy项目

摘要: scrapyd模块是专门用于部署scrapy项目的,可以部署和管理scrapy项目 下载地址:https://github.com/scrapy/scrapyd 建议安装 首先安装scrapyd模块,安装后在Python的安装目录下的Scripts文件夹里会生成scrapyd.exe启动文件,如果这 阅读全文

posted @ 2018-01-03 11:36 快乐糖果屋 阅读(566) 评论(0) 推荐(0)

五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索

摘要: 第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到输入的搜索词设置一个数组里存放搜素词,判断搜索词在数组里是否存在如果存在删除原来的词,重新将新词放在 阅读全文

posted @ 2018-01-03 11:34 快乐糖果屋 阅读(512) 评论(0) 推荐(0)

四十九 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页

摘要: 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time = datetime.now()获取当前时间 在搜索结束后:end_time = datetime.now()获取当前时间 last_time = (end_time-start_time).total_seconds()结束时间减去开 阅读全文

posted @ 2018-01-03 11:33 快乐糖果屋 阅读(717) 评论(2) 推荐(0)

四十八 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能

摘要: Django实现搜索功能 1、在Django配置搜索结果页的路由映射 2、编写逻辑处理函数 在逻辑处理函数里实现搜索数据 (1)获取到用户的搜索词 (2)利用原生的elasticsearch(搜索引擎)接口,实现搜索,注明:elasticsearch-dsl就是在原生的elasticsearch上做 阅读全文

posted @ 2018-01-03 11:30 快乐糖果屋 阅读(436) 评论(0) 推荐(0)

四十七 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

摘要: elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html 1、创建搜索自动补全字段sugges 阅读全文

posted @ 2018-01-03 11:29 快乐糖果屋 阅读(654) 评论(0) 推荐(0)

四十六 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中

摘要: 前面我们讲到的elasticsearch(搜索引擎)操作,如:增、删、改、查等操作都是用的elasticsearch的语言命令,就像sql命令一样,当然elasticsearch官方也提供了一个python操作elasticsearch(搜索引擎)的接口包,就像sqlalchemy操作数据库一样的O 阅读全文

posted @ 2018-01-03 11:26 快乐糖果屋 阅读(560) 评论(0) 推荐(0)

四十五 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询

摘要: bool查询说明 filter:[],字段的过滤,不参与打分must:[],如果有多个查询,都必须满足【并且】should:[],如果有多个查询,满足一个或者多个都匹配【或者】must_not:[],相反查询词一个都不满足的就匹配【取反,非】 建立测试数据 bool组合查询——最简单的filter过 阅读全文

posted @ 2018-01-03 11:25 快乐糖果屋 阅读(417) 评论(0) 推荐(0)

四十四 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询

摘要: 1、elasticsearch(搜索引擎)的查询 elasticsearch是功能非常强大的搜索引擎,使用它的目的就是为了快速的查询到需要的数据 查询分类: 基本查询:使用elasticsearch内置的查询条件进行查询 组合查询:把多个查询条件组合在一起进行复合查询 过滤:查询同时,通过filte 阅读全文

posted @ 2018-01-03 11:23 快乐糖果屋 阅读(429) 评论(0) 推荐(0)

四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理

摘要: 1、映射(mapping)介绍 映射:创建索引的时候,可以预先定义字段的类型以及相关属性elasticsearch会根据json源数据的基础类型猜测你想要的字段映射,将输入的数据转换成可搜索的索引项,mapping就是我们自己定义的字段数据类型,同时告诉elasticsearch如何索引数据以及是否 阅读全文

posted @ 2018-01-03 11:22 快乐糖果屋 阅读(1207) 评论(0) 推荐(0)

四十二 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作

摘要: 注意:前面讲到的各种操作都是一次http请求操作一条数据,如果想要操作多条数据就会产生多次请求,所以就有了mget和bulk批量操作,mget和bulk批量操作是一次请求可以操作多条数据 1、mget批量操作(查询) 批量操作(同一个索引同一个表里的批量查询) 说明: 代码: 批量操作(同一个索引同 阅读全文

posted @ 2018-01-03 11:21 快乐糖果屋 阅读(930) 评论(0) 推荐(0)

四十一 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查

摘要: elasticsearch(搜索引擎)基本的索引和文档CRUD操作 也就是基本的索引和文档、增、删、改、查、操作 注意:以下操作都是在kibana里操作的 elasticsearch(搜索引擎)都是基于http方法来操作的 GET 请求指定的页面信息,并且返回实体主体 POST 向指定资源提交数据进 阅读全文

posted @ 2018-01-03 11:20 快乐糖果屋 阅读(471) 评论(0) 推荐(0)

四十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引

摘要: 倒排索引 倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(invert 阅读全文

posted @ 2018-01-03 11:18 快乐糖果屋 阅读(722) 评论(0) 推荐(0)

三十九 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念

摘要: elasticsearch的基本概念 1、集群:一个或者多个节点组织在一起 2、节点:一个节点是集群中的一个服务器,由一个名字来标识,默认是一个随机的漫微角色的名字 3、分片:将索引(相当于数据库)划分为多份的能力,允许水平分割和扩展,对个分片响应请求,提供性能和吞吐量 3、副本:创建分片的一份或者 阅读全文

posted @ 2018-01-03 11:17 快乐糖果屋 阅读(435) 评论(0) 推荐(0)

三十八 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装

摘要: elasticsearch(搜索引擎)介绍 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二最流行的企业搜索引擎。 阅读全文

posted @ 2018-01-03 11:14 快乐糖果屋 阅读(2083) 评论(0) 推荐(0)

三十七 Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中

摘要: Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详解 基本概念 如果想判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数 阅读全文

posted @ 2018-01-03 11:13 快乐糖果屋 阅读(608) 评论(0) 推荐(0)

三十六 Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码

摘要: scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开源模块 scrapy-redis的依赖 Python 2.7, 3.4 or 3.5,Python支持版本 Redis >= 2.8,Redis版本 Scrapy >= 1.1,Scrapy版本 redis-py >= 2 阅读全文

posted @ 2018-01-03 11:11 快乐糖果屋 阅读(676) 评论(0) 推荐(0)

三十五 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy分布式爬虫要点

摘要: 1、分布式爬虫原理 2、分布式爬虫优点 3、分布式爬虫需要解决的问题 阅读全文

posted @ 2018-01-03 11:10 快乐糖果屋 阅读(243) 评论(0) 推荐(0)

三十四 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

摘要: 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行一个函数 dispatcher.connect()信号分发器,第一个参数信号触发函数,第二个参数是触发信号, 以下是各种信号 signals.engine_started当Scrapy引擎启 阅读全文

posted @ 2018-01-03 11:09 快乐糖果屋 阅读(388) 评论(0) 推荐(0)

三十三 Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)

摘要: Scrapy提供了方便的收集数据的机制。数据以key/value方式存储,值大多是计数值。 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats 来使用无论数据收集(stats collection)开启或者关闭,数据收集器永远都是可用的。 因 阅读全文

posted @ 2018-01-03 11:08 快乐糖果屋 阅读(378) 评论(0) 推荐(0)

三十二 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy的暂停与重启

摘要: scrapy的每一个爬虫,暂停时可以记录暂停状态以及爬取了哪些url,重启时可以从暂停状态开始爬取过的URL不在爬取 实现暂停与重启记录状态 1、首先cd进入到scrapy项目里 2、在scrapy项目里创建保存记录信息的文件夹 3、执行命令: scrapy crawl 爬虫名称 -s JOBDIR 阅读全文

posted @ 2018-01-03 11:07 快乐糖果屋 阅读(1540) 评论(0) 推荐(0)

三十一 Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、splinter

摘要: 1、chrome谷歌浏览器无界面运行 chrome谷歌浏览器无界面运行,主要运行在Linux系统,windows系统下不支持 chrome谷歌浏览器无界面运行需要一个模块,pyvirtualdisplay模块 需要先安装pyvirtualdisplay模块 Display(visible=0, si 阅读全文

posted @ 2018-01-03 11:06 快乐糖果屋 阅读(2346) 评论(0) 推荐(0)

三十 Python分布式爬虫打造搜索引擎Scrapy精讲—将selenium操作谷歌浏览器集成到scrapy中

摘要: 1、爬虫文件 dispatcher.connect()信号分发器,第一个参数信号触发函数,第二个参数是触发信号,signals.spider_closed是爬虫结束信号 2、middlewares.py中间件文件 3、settings.py配置文件注册中间件 阅读全文

posted @ 2018-01-03 11:05 快乐糖果屋 阅读(2358) 评论(0) 推荐(0)

二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

摘要: selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以还得需要下载对应浏览器的操作软件 操作原理是:selenium模块操作浏览器操作软件,浏览器操作软件 阅读全文

posted @ 2018-01-03 11:04 快乐糖果屋 阅读(654) 评论(0) 推荐(0)

二十八 Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制

摘要: cookie禁用 就是在Scrapy的配置文件settings.py里禁用掉cookie禁用,可以防止被通过cookie禁用识别到是爬虫,注意,只适用于不需要登录的网页,cookie禁用后是无法登录的 settings.py里禁用掉cookie禁用 COOKIES_ENABLED = False 禁 阅读全文

posted @ 2018-01-03 11:02 快乐糖果屋 阅读(497) 评论(0) 推荐(0)

二十七 Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP

摘要: 设置代理ip只需要,自定义一个中间件,重写process_request方法, request.meta['proxy'] = "http://185.82.203.146:1080" 设置代理IP 中间件,注意将中间件注册到配置文件里去 随机数据库获取IP 数据库模块文件 阅读全文

posted @ 2018-01-03 11:01 快乐糖果屋 阅读(2216) 评论(1) 推荐(0)

二十六 Python分布式爬虫打造搜索引擎Scrapy精讲—通过downloadmiddleware中间件全局随机更换user-agent浏览器用户代理

摘要: downloadmiddleware介绍中间件是一个框架,可以连接到请求/响应处理中。这是一种很轻的、低层次的系统,可以改变Scrapy的请求和回应。也就是在Requests请求和Response响应之间的中间件,可以全局的修改Requests请求和Response响应 UserAgentMiddl 阅读全文

posted @ 2018-01-03 11:00 快乐糖果屋 阅读(399) 评论(0) 推荐(1)

二十五 Python分布式爬虫打造搜索引擎Scrapy精讲—Requests请求和Response响应介绍

摘要: Requests请求 Requests请求就是我们在爬虫文件写的Requests()方法,也就是提交一个请求地址,Requests请求是我们自定义的 Requests()方法提交一个请求 参数: url= 字符串类型url地址 callback= 回调函数名称 method= 字符串类型请求方式,如 阅读全文

posted @ 2018-01-03 10:58 快乐糖果屋 阅读(300) 评论(0) 推荐(0)

二十四 Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图

摘要: 1、基本概念 2、反爬虫的目的 3、爬虫和反爬的对抗过程以及策略 scrapy架构源码分析图 阅读全文

posted @ 2018-01-03 10:57 快乐糖果屋 阅读(480) 评论(0) 推荐(0)

二十三 Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制

摘要: 用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l 查看scrapy创建爬虫文件可用的母版 Available templates:母版说明 basic 创建基础爬虫文件 crawl 创建自动爬虫文件 csvfeed 创建爬取csv数 阅读全文

posted @ 2018-01-03 10:56 快乐糖果屋 阅读(346) 评论(0) 推荐(0)

二十二 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别

摘要: 第一步。首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://github.com/muchrooms/zheye 注意:此程序依赖以下模块包 Keras==2.0.1 Pillow==3.4.2 jupyter==1.0.0 matplotlib==1.5.3 numpy==1.1 阅读全文

posted @ 2018-01-03 10:55 快乐糖果屋 阅读(474) 评论(0) 推荐(0)

二十一 Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫数据保存

摘要: 注意:数据保存的操作都是在pipelines.py文件里操作的 将数据保存为json文件 spider是一个信号检测 将数据保存到数据库 我们使用一个ORM框架sqlalchemy模块,保存数据 数据库操作文件 pipelines.py文件 阅读全文

posted @ 2018-01-03 10:53 快乐糖果屋 阅读(637) 评论(0) 推荐(0)

二十 Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—meta属性返回指定值给回调函数—Scrapy内置图片下载器

摘要: 编写spiders爬虫文件循环抓取内容 Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数, 参数: url='url' callback=页面处理函数 使用时需要yield Request() parse.urljoin()方法,是urllib库下的方法,是自动url拼接 阅读全文

posted @ 2018-01-03 10:52 快乐糖果屋 阅读(807) 评论(0) 推荐(0)

十九 Python分布式爬虫打造搜索引擎Scrapy精讲—css选择器

摘要: css选择器 1、 2、 3、 ::attr()获取元素属性,css选择器 ::text获取标签文本 举例: extract_first('')获取过滤后的数据,返回字符串,有一个默认参数,也就是如果没有数据默认是什么,一般我们设置为空字符串 extract()获取过滤后的数据,返回字符串列表 阅读全文

posted @ 2018-01-03 10:51 快乐糖果屋 阅读(576) 评论(0) 推荐(0)

十八 Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

摘要: 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.cmdline import execute #导入执行scrapy命令方法 import sys import os sys. 阅读全文

posted @ 2018-01-03 10:49 快乐糖果屋 阅读(681) 评论(0) 推荐(0)

十七 Python分布式爬虫打造搜索引擎Scrapy精讲—深度优先与广度优先原理

摘要: 网站树形结构 深度优先 是从左到右深度进行爬取的,以深度为准则从左到右的执行(递归方式实现)Scrapy默认是深度优先的 广度优先 是以层级来执行的,(列队方式实现) 阅读全文

posted @ 2018-01-03 10:48 快乐糖果屋 阅读(1233) 评论(0) 推荐(0)

十六 web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

摘要: PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息 下载网址:http://phantomjs.org/download.html 下载对应系统版 阅读全文

posted @ 2018-01-03 10:46 快乐糖果屋 阅读(1790) 评论(0) 推荐(0)

十五 web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础

摘要: 在urllib中,我们一样可以使用xpath表达式进行信息提取,此时,你需要首先安装lxml模块,然后将网页数据通过lxml下的etree转化为treedata的形式 urllib库中使用xpath表达式 etree.HTML()将获取到的html字符串,转换成树形结构,也就是xpath表达式可以获 阅读全文

posted @ 2018-01-03 10:45 快乐糖果屋 阅读(1393) 评论(0) 推荐(0)

十四 web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码

摘要: 打码接口文件 实现文件 阅读全文

posted @ 2018-01-03 10:43 快乐糖果屋 阅读(639) 评论(0) 推荐(0)

十三 web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息

摘要: crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才显示信息,那么这种一般都是 js 的 Ajax 动态请求生成的信息 我们以百度新闻为列: 1、分析网站 首先我 阅读全文

posted @ 2018-01-03 10:41 快乐糖果屋 阅读(553) 评论(0) 推荐(0)

十二 web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies

摘要: 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求 Request()get请求,可以设置,url、cookie、回调函数 FormReques 阅读全文

posted @ 2018-01-03 10:40 快乐糖果屋 阅读(958) 评论(0) 推荐(0)

十一 web爬虫讲解2—Scrapy框架爬虫—Scrapy使用

摘要: xpath表达式 //x 表示向下查找n层指定标签,如://div 表示查找所有div标签 /x 表示向下查找一层指定的标签 /@x 表示查找指定属性的值,可以连缀如:@id @src [@属性名称="属性值"]表示查找指定属性等于指定值的标签,可以连缀 ,如查找class名称等于指定名称的标签 / 阅读全文

posted @ 2018-01-03 10:39 快乐糖果屋 阅读(341) 评论(0) 推荐(0)

十 web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令

摘要: Scrapy框架安装 1、首先,终端执行命令升级pip: python -m pip install --upgrade pip2、安装,wheel(建议网络安装) pip install wheel3、安装,lxml(建议下载安装)4、安装,Twisted(建议下载安装)5、安装,Scrapy(建 阅读全文

posted @ 2018-01-03 10:37 快乐糖果屋 阅读(341) 评论(0) 推荐(0)

九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解

摘要: 封装模块 实战爬取搜狗微信公众号 抓包教程 首先安装Fiddler4 软件界面说明 清除请求 设置抓包浏览器 这样设置好后,这个浏览器访问的网址就会在抓包软件里看到信息了 设置抓取https协议的网站 导出证书到桌面 将证书安装到浏览器 可以看到软件已经获取到https网站了 疑难问题解决: 有些可 阅读全文

posted @ 2018-01-03 10:32 快乐糖果屋 阅读(405) 评论(0) 推荐(0)

八 web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用

摘要: 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener()初始化IPinstall_opener()将代理IP设置成全局,当使用urlopen()请求时自动使用代理IP ip代理池构建一 适合IP存活时间长,稳定性好的 阅读全文

posted @ 2018-01-03 10:30 快乐糖果屋 阅读(335) 评论(0) 推荐(0)

七 web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理

摘要: 如果爬虫没有异常处理,那么爬行中一旦出现错误,程序将崩溃停止工作,有异常处理即使出现错误也能继续执行下去 1.常见状态吗 301:重定向到新的URL,永久性302:重定向到临时URL,非永久性304:请求的资源未更新400:非法请求401:请求未经授权403:禁止访问404:没找到对应页面500:服 阅读全文

posted @ 2018-01-03 10:28 快乐糖果屋 阅读(343) 评论(0) 推荐(0)

六 web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求

摘要: 利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码read()读出html源码内容decode("utf-8")将字节转化成字符串 正则获取页面指定内容 urlretrieve()将网络文件下载保存到本地,参数1网络文件URL,参数2保存路径 urlc 阅读全文

posted @ 2018-01-03 10:25 快乐糖果屋 阅读(1902) 评论(0) 推荐(0)

五 web爬虫,scrapy模块,解决重复ur——自动递归url

摘要: 一般抓取过的url不重复抓取,那么就需要记录url,判断当前URL如果在记录里说明已经抓取过了,如果不存在说明没抓取过 记录url可以是缓存,或者数据库,如果保存数据库按照以下方式: id URL加密(建索引以便查询) 原始URL 保存URL表里应该至少有以上3个字段1、URL加密(建索引以便查询) 阅读全文

posted @ 2018-01-03 10:23 快乐糖果屋 阅读(1255) 评论(0) 推荐(0)

四 web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签

摘要: 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.selector import HtmlXPathSelector select()标签选择器方法,是HtmlXPathSelector里的一个方 阅读全文

posted @ 2018-01-03 10:22 快乐糖果屋 阅读(623) 评论(0) 推荐(0)

三 web爬虫,scrapy模块介绍与使用

摘要: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 阅读全文

posted @ 2018-01-03 10:19 快乐糖果屋 阅读(678) 评论(0) 推荐(0)

二 web爬虫,scrapy模块以及相关依赖模块安装

摘要: 当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 手动源码安装,比较麻烦要自己手动安装scrapy模块以及依赖模块 安装以下模块 1、lxml-3.8.0.tar.gz (XML处理库) 2、Twisted-17.5.0. 阅读全文

posted @ 2018-01-03 10:16 快乐糖果屋 阅读(425) 评论(0) 推荐(0)

一 web爬虫,requests请求

摘要: requests请求,就是用python的requests模块模拟浏览器请求,返回html源码 模拟浏览器请求有两种,一种是不需要用户登录或者验证的请求,一种是需要用户登录或者验证的请求 一、不需要用户登录或者验证的请求 这种比较简单,直接利用requests模块发一个请求即可拿到html源码 得到 阅读全文

posted @ 2018-01-03 10:14 快乐糖果屋 阅读(502) 评论(0) 推荐(1)

导航