09 2018 档案
摘要:scrapy 安装scrapy windows可能安装失败,需要先安装c++库或twisted,pip install twisted 创建项目 该命令将会创建包含下列内容的 tutorial 目录: 编写第一个爬虫 为了创建一个Spider,您必须继承 scrapy.Spider 类,定义以下三个
阅读全文
摘要:结构 生产者生成网址并放入队列 多个消费者从队列中取出网址 类 爬虫类需要继承多线程类 初始化方法需要继承父类初始化方法 创建对象,直接start就会调用类中run方法 协程 协程(coroutine):轻量级的线程,不存在上下文切换,能在多个任务之间调度的多任务方式,可以使用yield实现 请使用
阅读全文
摘要:进程 使用 导入类库 创建进程 Process参数:group=None,target=None, name=None, args=(), kwargs={}) 全局变量 进程间全局变量不共享,因为进程是复制出来的 线程 使用 导入类库 创建线程 Thread参数:group=None,target
阅读全文
摘要:爬虫综合案例 开发步骤: 导入类库 创建爬虫通用类 初始化init方法 类中编写重试下载模块 类中编写真正下载模块 类外编写保存函数 类外编写获取robots.txt函数 类外编写抽取网址函数 类中编写网址正常化函数 创建下载限流类 爬虫通用类封装run方法 创建爬虫对象运行 导入类库 reques
阅读全文
摘要:mongodb操作 MongoCache 将数据以字典的特性存储缓存到mongodb数据库 导入类库 创建MongoCache类 初始化init 连接mongodb数据库 连接数据库cache实例(没有则创建) 连接集合webpage(没有则创建) 创建timestamp索引,设置超时时间为30天
阅读全文
摘要:BeautifulSoup 导入类库 创建soup对象 标签特性 查找标签 查找所有a标签 查找特定id的a标签及其href 查找所有特定id的标签 查找所有a标签 查找特定id的a标签及其href 查找所有特定id的标签 lxml / 从根标签开始 // 从当前标签开始 * 通配符,选择所有 //
阅读全文
摘要:贴吧爬取 写代码前,构思需要的功能块;写代码时,把各个功能模块名提前写好 初始化 初始化必要参数,完成基础设置 爬取百度贴吧lol吧:爬取地址中的get参数须传递(可以指定不同主题的贴吧和页码) 主题名 初始网址 请求头 生成网址 生成每一页的路由地址 根据列表生成式生成多个页面的地址 下载 get
阅读全文
摘要:命名规范 module_name,模块 package_name,包 ClassName,类 method_name,方法 ExceptionName,异常 function_name,函数 GLOBAL_VAR_NAME,全局变量 instance_var_name,实例 function_par
阅读全文
摘要:必要属性和方法 per_page: 每页显示条目数量 count: 数据总个数 num_pages:总页数 page_range:页面范围,从1开始,例如[1,2,3,4]。 page: page对象 上面的属性需要用 一页对象dian.整体对象dian.属性名 才能调用 has_next 是否有下
阅读全文
摘要:设置缓存可采用CacheDemo中的中间件方法(https://www.cnblogs.com/siplips/p/9618034.html),对客户端浏览器缓存时间进行设定;也可采用下面的装饰器方法,可对单独的东西进行缓存,如:函数 开启缓存:在views中引入包 from django.view
阅读全文
摘要:要点: models 图片类型文件要使用models.ImageField(upload='文件夹名') 普通文件使用FileField 时间类型使用DatetimeField(auto_now_add=True) 自动添加增加时间 settings MEDIA_URL = '/media/' #别
阅读全文
摘要:在models中为user添加权限,permissions第二个参数可指定权限的别名 创建的各种用户user保存在auth_user表中 创建的各种用户user的对应权限permission_id保存在auth_user_user_permissions表中 所有权限的类型名字,别名保存在auth_
阅读全文
摘要:Profile作用:User内置的字段不够完善,导致创建的用户信息单一,Profile就是为了对User进行扩展,即丰富用户信息 在models中创建Profile类,添加字段user与User形成OneToOne关系以及级联删除 on_delete=models.CASCADE 引入与信号相关的包
阅读全文
摘要:django——signal 其实可以理解为django内部的钩子,当某一个事件发生时,其它程序会触发并对其作出相关反应,通过signal回调处理函数(receivers),从而更大程度的解耦我们的项目 导入类库 1 from django.shortcuts import render 2 fro
阅读全文
摘要:中间件:可对请求,响应等操作中途阶段,用中间件对其做处理后再继续原操作 在项目app中创建middleware.py文件,引入包:from django.utils.deprecation import MiddlewareMixin 创建中间件类,其父类指定为MiddlewareMixin 创建对
阅读全文
摘要:日志级别 5 个级别 debug 调试 info 普通信息 warning : 提醒警告 error: 发生了错误 critical: 严重的错误 注:django.log为指定的日志存放文件(可修改) 2.在views中函数中:定义loggin.getLogger(__name__)对象,用该对象
阅读全文
摘要:如图所示查看网站缓存时间 在app中创建middleware.py文件,导入MiddlewareMixin,创建类并继承MiddlewareMixin 在settings中的MIDDLEWARE=[ ] 注册中间件类;添加一个CACHE_CONTROL_MAX_AGE=时间(单位:秒) 作用:在se
阅读全文

浙公网安备 33010602011771号