12 2018 档案
摘要:subprocess模块 区别:subprocess模块与os.system(cmd)或os.popen(cmd)模块的区别是有返回值,会将报错信息接收 语法:ret_obj = subprocess(cmd, # 预在dos中执行的系统命令 shell=True, # 表示在Windows控制台
阅读全文
摘要:单表操作: 1.创建 from sqlalchemy import create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, Integer, String
阅读全文
摘要:一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息。 - 日志信息的种类: ERROR : 一般错误 WARNING : 警告 INFO : 一般的信息 DEBUG : 调试信息 - 设置日志信息指定输
阅读全文
摘要:redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以。原因有二。 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器) 其二:多台机器爬取到的数据无法通过同一个管道对数据
阅读全文
摘要:引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法)。 方法二:基于CrawlSpider的自动爬取进行实现(更加简洁和高效)。 概要 CrawlSpider简
阅读全文
摘要:概要 scrapy下载中间件 UA池 代理池 详情 一.下载中间件 先祭出框架图: 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。 - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请求进行一系列处理。比如设置请求的 User
阅读全文
摘要:概要 递归爬取解析多页页面数据 scrapy核心组件工作流程 scrapy的post请求发送 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发起请求,然后通
阅读全文
摘要:今日概要 基于终端指令的持久化存储 基于管道的持久化存储 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行输出指定格式进行存储:将爬取到的数据写入不同格式的文件中进行存储
阅读全文
摘要:一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。 二.安装
阅读全文
摘要:前言 随着移动市场的火热,各大平台都陆陆续续的推出了自己的移动端APP来拉拢吸引和便捷其广大的用户。那么在移动端的平台当时势必会出现大量有价值的信息和数据,那这些数据我们是否可以去享用一下呢?那么接下来就进入我们的移动端APP数据的爬虫中来吧。 1、 什么是Fiddler? Fiddler是位于客户
阅读全文
摘要:动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import etree
阅读全文
摘要:引入 关的门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码。通过验证码达到分流和反爬的效果。 使用云打码平台识别验证码 云打码平台处理验证码的实现流程: - 1.对携带验证码的页面数据进行抓取 - 2.可以将页面数据中验证码进行解析,验证码图片下载
阅读全文
摘要:引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。 今日概要 基于requests的get请求 基于requests模块的p
阅读全文
摘要:引入 回顾requests实现数据爬取的流程 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析。因为大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据。因此,本次课程中会给大家详细介绍讲解三种聚焦爬虫中的数据解析方式
阅读全文
摘要:一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求。其常被用到的子模块在Python3中的为urllib.request和urllib.parse,在Python2中是urllib和urllib2。 二.由易到难的爬虫程序: 1.爬取百
阅读全文
摘要:一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 2.白话概念: HTTP协议就是服务器(Server)和客户端(Clie
阅读全文
摘要:爬虫介绍 引入 我们都知道,当前我们所处的时代是大数据的时代,在大数据时代,要进行数据分析,首先要有数据源,而学习爬虫,可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集。 优酷推出的火星情报局就是基于网络爬虫和数据分析制作完成的。其中每期的节目话题都是从相关热门的互动平台中进行相关
阅读全文
摘要:有时候需要把网页强制切换成HTTPS,即使用户已经访问了HTTP的版本。原因可能是你不想让用户使用HTTP来访问,因为它不安全。要做到这个很简单,如果不想用PHP或者Apache的mod_rewrite来做这件事,用Javascript也可以。代码如下: 用了这段代码,如果用户访问了如http://
阅读全文
摘要:一、简介 MongoDB是一款强大、灵活、且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存
阅读全文
摘要:1.Django的时区问题 django默认的时区是UTC,平时是没有什么影响的,但是在需要将时间戳转换成本时区的时间或者是获取当前的本地的localtime的时候就出现了问题。之前程序在测试时是运行在Windows环境,所以即使settings.py中的TIME_ZONE使用默认时区,Django
阅读全文
摘要:python魔法方法详解 据说,Python 的对象天生拥有一些神奇的方法,他们总被双下划线锁包围,他们是面向对象的python的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法的某一个,那么这个方法就会在特殊的情况下被python调用. 你可以定义自己想要的行为,而
阅读全文
摘要:一、前言 通过DRF写的视图类,都会继承APIVIEW,而APIVIEW类继承VIEW,同时其重写了as_view方法【使之cbv能够url传参】,dispatch方法,重新封装了request对象, 将老的request对象赋值为_request, 前端传过来的所有数据给了:request.dat
阅读全文
摘要:一、基本流程举例: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^users/', views.HostView.as_view()), ] from rest_framework.views import APIView from
阅读全文
摘要:这一篇是基于上一篇写的,上一篇谢了认证的具体流程,看懂了上一篇这一篇才能看懂, 当用户访问是 首先执行dispatch函数,当执行当第二部时: 进入到initial方法: 下面 开始 权限的具体分析: 进入到check_permissions函数中 查看permission_denied方法(如果h
阅读全文
摘要:最近在DRF的序列化上踩过了不少坑,特此结合官方文档记录下,方便日后查阅。 【01】前言 serializers是什么?官网是这样的”Serializers allow complex data such as querysets and model instances to be converte
阅读全文
摘要:python3之Django多数据库 https://www.cnblogs.com/zhangxinqi/p/9094953.html 阅读目录 1、定义数据库 (1) DATABASES内部选项: (2)自定义数据库 2、同步数据库 3、自动数据库路由 (1)定义数据库路由方法类 (2)使用路由
阅读全文
摘要:一、单个添加model的方式 使用用django提供的管理后台,对model表数据操作 1、 建立model 2、在admin.py文件中引入modle,然后注册 3、创建超级用户登录就可以向数据库中增删改查数据了 二、批量添加的方式 1、建立model,然后在顶部设置__all__ = [] 变量
阅读全文
摘要:HTTP 应用的信息是通过 请求报文 和 响应报文 传递的,关于更多的相关知识,可以阅读《HTTP权威指南》获得。 其中 请求报文 由客户端发送,其中包含和许多的信息,而 django 将这些信息封装成了 HttpRequest 对象,该对象由 HttpRequest 类创建。每一个请求都会生成一个
阅读全文
摘要:参考至:https://www.cnblogs.com/xiami303/articles/3206416.html
https://www.cnblogs.com/cdemo/p/5158663.html
阅读全文
摘要:django的crsf机制防御详解及在前后端分离中post数据到django 更新于: 2018-07-28 | 分类于 django CSRF(Cross Site Request Forgery) 跨站点伪造请求 某个用户已经登陆了你的网站,另外有一个恶意的网站有一个指向你网站的链接,那么当用户
阅读全文
摘要:【转】Javascript实现页面跳转的几种方式 概述 相信很多Web开发者都知道,在开发Web程序的时候,对于页面之间的跳转,有很多种,但是有效的跳转则事半功倍,下面就是我在平时的开发过程中所用到的一些JavaScript跳转方式,拿出和大家共享一下。 一、通过JS跳转页面 第一种:直接跳转加参数
阅读全文