07 2017 档案

摘要:第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码 打码接口文件 实现文件 阅读全文
posted @ 2017-07-31 16:38 林贵秀 阅读(693) 评论(0) 推荐(0) 编辑
摘要:第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才 阅读全文
posted @ 2017-07-30 01:37 林贵秀 阅读(3953) 评论(0) 推荐(0) 编辑
摘要:第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求 Requ 阅读全文
posted @ 2017-07-29 15:30 林贵秀 阅读(14207) 评论(0) 推荐(1) 编辑
摘要:第三百三十二节,web爬虫讲解2—Scrapy框架爬虫—Scrapy使用 xpath表达式 //x 表示向下查找n层指定标签,如://div 表示查找所有div标签 /x 表示向下查找一层指定的标签 /@x 表示查找指定属性的值,可以连缀如:@id @src [@属性名称="属性值"]表示查找指定属 阅读全文
posted @ 2017-07-28 16:15 林贵秀 阅读(740) 评论(0) 推荐(0) 编辑
摘要:第三百三十一节,web爬虫讲解2—Scrapy框架爬虫—Scrapy安装—Scrapy指令 Scrapy框架安装 1、首先,终端执行命令升级pip: python -m pip install --upgrade pip2、安装,wheel(建议网络安装) pip install wheel3、安装 阅读全文
posted @ 2017-07-28 03:47 林贵秀 阅读(669) 评论(0) 推荐(0) 编辑
摘要:第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 实战爬取搜狗微信公众号 抓包教程 首先安装Fiddler4 软件界面说明 清除请求 设置抓包浏览器 这样设置好后,这个浏览器访问的网址就会在抓包软件里看到信息了 设置抓取https 阅读全文
posted @ 2017-07-27 20:15 林贵秀 阅读(1149) 评论(0) 推荐(0) 编辑
摘要:第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener()初始化IPinstall_opener()将代理IP设置成全局,当使用urlopen()请求时自 阅读全文
posted @ 2017-07-26 22:11 林贵秀 阅读(376) 评论(0) 推荐(0) 编辑
摘要:第三百二十八节,web爬虫讲解2—urllib库爬虫—状态吗—异常处理—浏览器伪装技术、设置用户代理 如果爬虫没有异常处理,那么爬行中一旦出现错误,程序将崩溃停止工作,有异常处理即使出现错误也能继续执行下去 1.常见状态吗 301:重定向到新的URL,永久性302:重定向到临时URL,非永久性304 阅读全文
posted @ 2017-07-26 17:09 林贵秀 阅读(362) 评论(0) 推荐(0) 编辑
摘要:第三百二十七节,web爬虫讲解2—urllib库爬虫 利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码read()读出html源码内容decode("utf-8")将字节转化成字符串 正则获取页面指定内容 urlretrieve()将网络文件下载保存 阅读全文
posted @ 2017-07-25 19:08 林贵秀 阅读(365) 评论(0) 推荐(0) 编辑
摘要:第三百二十六节,web爬虫,scrapy模块,解决重复url——自动递归url 一般抓取过的url不重复抓取,那么就需要记录url,判断当前URL如果在记录里说明已经抓取过了,如果不存在说明没抓取过 记录url可以是缓存,或者数据库,如果保存数据库按照以下方式: id URL加密(建索引以便查询) 阅读全文
posted @ 2017-07-25 11:52 林贵秀 阅读(1722) 评论(0) 推荐(0) 编辑
摘要:第三百二十五节,web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签 标签选择器对象 HtmlXPathSelector()创建标签选择器对象,参数接收response回调的html对象需要导入模块:from scrapy.selector import HtmlXPathSelecto 阅读全文
posted @ 2017-07-24 21:14 林贵秀 阅读(652) 评论(1) 推荐(0) 编辑
摘要:第三百二十四节,web爬虫,scrapy模块介绍与使用 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amaz 阅读全文
posted @ 2017-07-23 21:19 林贵秀 阅读(1406) 评论(0) 推荐(1) 编辑
摘要:第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装 当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 手动源码安装,比较麻烦要自己手动安装scrapy模块以及依赖模块 安装以下模块 1、lxml-3.8.0. 阅读全文
posted @ 2017-07-23 20:37 林贵秀 阅读(643) 评论(0) 推荐(0) 编辑
摘要:第三百二十二节,web爬虫,requests请求 requests请求,就是用yhthon的requests模块模拟浏览器请求,返回html源码 模拟浏览器请求有两种,一种是不需要用户登录或者验证的请求,一种是需要用户登录或者验证的请求 一、不需要用户登录或者验证的请求 这种比较简单,直接利用req 阅读全文
posted @ 2017-07-23 02:06 林贵秀 阅读(677) 评论(1) 推荐(0) 编辑
摘要:第三百二十一节,Django框架,发送邮件 全局配置settings.py send_mail() 每次发邮件都会建立一个连接,发多封邮件时建立多个连接 send_mass_mail() 是建立单个连接发送多封邮件,所以一次性发送多封邮件时 send_mass_mail 要优于 send_mail。 阅读全文
posted @ 2017-07-22 01:03 林贵秀 阅读(395) 评论(0) 推荐(0) 编辑
摘要:第三百二十节,Django框架,生成二维码 用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 Python中调用: Django 中使用 html 路由映射 逻辑处理 阅读全文
posted @ 2017-07-21 20:59 林贵秀 阅读(1598) 评论(0) 推荐(1) 编辑
摘要:第三百一十九节,Django框架,文件上传 1、自定义上传【推荐】 请求对象.FILES.get()获取上传文件的对象上传对象.name获取上传文件名称上传对象.chunks()获取上传数据包,字节码类型 html 逻辑处理 内置方式 表单验证模块 数据库操作Models模块 逻辑处理模块 阅读全文
posted @ 2017-07-21 16:50 林贵秀 阅读(314) 评论(0) 推荐(0) 编辑
摘要:第三百一十八节,Django框架,信号 Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 也就是当程序有指定动作时,触发一个信号函数 1、Django内置信号 信号的使用 首先在app项目的__init__.py 这 阅读全文
posted @ 2017-07-21 14:44 林贵秀 阅读(340) 评论(0) 推荐(0) 编辑
摘要:第三百一十七节,Django框架,缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接 阅读全文
posted @ 2017-07-20 15:27 林贵秀 阅读(323) 评论(0) 推荐(0) 编辑
摘要:第三百一十六节,Django框架,中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 在django项目的settings模块中,有一个 MIDDLEWARE变量,其中 阅读全文
posted @ 2017-07-19 23:14 林贵秀 阅读(269) 评论(0) 推荐(0) 编辑
摘要:第三百一十五节,Django框架,CSRF跨站请求伪造 全局CSRF 如果要启用防止CSRF跨站请求伪造,就需要在中间件开启CSRF 注意:一旦开启了csrf提交表单时会出现403错误,必须结合两个步骤来使用 第一、页面响应返回必须由render()方法 第二、必须在html页面的<form>标签里 阅读全文
posted @ 2017-07-19 15:46 林贵秀 阅读(250) 评论(0) 推荐(0) 编辑
摘要:第三百一十四节,Django框架,自定义分页 自定义分页模块 逻辑处理 html 阅读全文
posted @ 2017-07-19 13:54 林贵秀 阅读(287) 评论(0) 推荐(0) 编辑
摘要:第三百一十三节,Django框架,Session Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 1、数据库(默认)2、缓存3、文件4、缓存+数据库5、加密cookie 1、数据库Session,保存在数据库 Django默认支持Session,并且默认是将 阅读全文
posted @ 2017-07-18 16:59 林贵秀 阅读(276) 评论(0) 推荐(0) 编辑
摘要:第三百一十二节,Django框架,Cookie 注意:获取Cookie是在请求对象里处理,设置Cookie是在响应对象里处理 普通Cookieset_cookie()设置普通cookie 参数: key, 键 value='', 值 max_age=None, 超时时间,秒,也支持时间戳 expir 阅读全文
posted @ 2017-07-18 13:25 林贵秀 阅读(239) 评论(0) 推荐(0) 编辑
摘要:第三百一十一节,Django框架,Form表单验证 表单提交 html 路由映射 逻辑处理 method属性获取用户请求方式,post或者get使用方式:请求对象.method POST获取用户post请求方式的信息使用方式:请求对象.POST POST.get()获取用户POST请求方式的表单na 阅读全文
posted @ 2017-07-16 13:22 林贵秀 阅读(2657) 评论(1) 推荐(0) 编辑
摘要:第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一、接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到html用模板语言渲染 {{...}}接收一个变量或者值进行渲染 逻辑处理 html 二、接收值,运行 阅读全文
posted @ 2017-07-14 23:32 林贵秀 阅读(337) 评论(0) 推荐(0) 编辑
摘要:第三百零九节,Django框架,models.py模块,数据库操作——F()和Q()运算符:|或者、&并且 F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from django.db.models import F Q()运算符:|或者、&并且 实列: 执行原生SQL que 阅读全文
posted @ 2017-07-14 17:22 林贵秀 阅读(462) 评论(0) 推荐(0) 编辑
摘要:第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多 链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.ForeignKey()外键字段一对多,值是要外键的表类 正向查找,也就是通过表的外键,查找到外键连接的表里的 阅读全文
posted @ 2017-07-14 16:12 林贵秀 阅读(508) 评论(0) 推荐(0) 编辑
摘要:Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法,写入数据 第二种方式:表类名称.objects.create(字段=值) 第三种方式【推荐】 查询数 阅读全文
posted @ 2017-07-11 13:42 林贵秀 阅读(445) 评论(0) 推荐(0) 编辑
摘要:Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, oracle,postgresql数据库。 1,django默认使用sqlite的数据库,默认自带 阅读全文
posted @ 2017-07-09 19:56 林贵秀 阅读(564) 评论(0) 推荐(0) 编辑
摘要:Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRequest对象 http响应:HttpResponse对象 所在位置:django.http 之前我 阅读全文
posted @ 2017-07-09 16:44 林贵秀 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:Django框架,urls.py模块,views.py模块,路由映射与路由分发以及逻辑处理——url控制器 这一节主讲url控制器 一、urls.py模块 这个模块是配置路由映射的模块,当用户访问一个url地址时,通过这个路由映射模块,映射给对应的逻辑处理函数 urlpatterns等于的一个列表, 阅读全文
posted @ 2017-07-09 07:23 林贵秀 阅读(595) 评论(0) 推荐(0) 编辑
摘要:Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。 这套框架是 阅读全文
posted @ 2017-07-08 20:27 林贵秀 阅读(1183) 评论(0) 推荐(0) 编辑
摘要:第三百零二节,三层架构讲解 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了 阅读全文
posted @ 2017-07-08 16:04 林贵秀 阅读(316) 评论(0) 推荐(0) 编辑
摘要:python操作redis缓存-管道、发布订阅 一、管道 redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作。 pipelin 阅读全文
posted @ 2017-07-07 17:28 林贵秀 阅读(859) 评论(0) 推荐(0) 编辑
摘要:python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型 delete(*names)根据删除redis中的任意数据类型 exists(name)检测redis的name是否存在 keys(pattern='*')根据模型获取redis的name更多: KE 阅读全文
posted @ 2017-07-07 16:09 林贵秀 阅读(3259) 评论(0) 推荐(1) 编辑
摘要:python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。 zadd(name, *args, **kwargs)在name 阅读全文
posted @ 2017-07-07 10:20 林贵秀 阅读(455) 评论(0) 推荐(0) 编辑
摘要:python操作redis缓存-Set集合类型,可以理解为不能有重复元素的列表 sadd(name,values)name对应的集合中添加元素 scard(name)获取name对应的集合中元素个数 sdiff(keys, *args)在第一个name对应的集合中且不在其他name对应的集合的元素集 阅读全文
posted @ 2017-07-06 16:33 林贵秀 阅读(792) 评论(0) 推荐(0) 编辑
摘要:python操作redis缓存-List类型,可以理解为列表,是可以有重复元素的列表 List操作,redis中的List在在内存中按照一个name对应一个List来存储。如图: lpush(name,values)在name对应的list中添加元素,每个新的元素都添加到列表的最左边如: lpush 阅读全文
posted @ 2017-07-06 11:34 林贵秀 阅读(1129) 评论(0) 推荐(0) 编辑
摘要:第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name对应的hash中设置一个键值对(不存在,则创建;否则,修改) name,redis的name key 阅读全文
posted @ 2017-07-03 13:02 林贵秀 阅读(627) 评论(0) 推荐(0) 编辑
摘要:python操作redis缓存-字符串类型 首先要安装redis-py模块 python连接redis方式,有两种连接方式,一种是直接连接,一张是通过连接池连接 注意:以后我们都用的连接池方式连接,直接连接不推荐 1、直接连接方式:【不推荐】 Redis()配置连接信息set()写入数据get()读 阅读全文
posted @ 2017-07-01 21:02 林贵秀 阅读(584) 评论(0) 推荐(0) 编辑
摘要:redis简介 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/r 阅读全文
posted @ 2017-07-01 02:41 林贵秀 阅读(281) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示