10 2019 档案
摘要:一、创建ndarrary 1、使用np.arrary()创建 1)、一维数组 import numpy as np np.array([1, 2, 3, 4]) 2)、二维数组 np.array([[1, 2, 3], [3, 8,0], [3, 2, 5]]) 注意: a、创建数组的时候,数据类型
阅读全文
摘要:向下添加cell b 进入编辑模式 Enter 结束编辑模式 ESC 运行 Ctrl + Enter 查看用法 shit + tab tab两次用法详解 提示 tab 待序
阅读全文
摘要:一、安装numpy 1、下载 https://pypi.org/project/numpy/#files 2、安装 3、校验 二、安装matplotlib
阅读全文
摘要:1、安装Ipython 2、安装jupyter 3、运行jupyter
阅读全文
摘要:1、安装wheel 2、下载lxml库的whl文件 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 版本:python 3.7 64位 3、安装lxml 4、检测
阅读全文
摘要:清华镜像 https://blog.csdn.net/u014061630/article/details/92744781#21_anaconda_5 一、安装 1、安装(参考官网) 官方:https://docs.anaconda.com/anaconda/ 2、校验 从开始菜单查询Anacon
阅读全文
摘要:核心:共享爬取队列 目的:实现分布式 一、安装 pip3 install -i https://pypi.douban.com/simple scrapy-redis 二、去重 1、配置文件 scrapy 去重 DUPEFILTER_KEY = 'dupefilter:%(timestamp)s'
阅读全文
摘要:存值 若要存入集合的值已存在(redis),则返回值r1或r2是 0
阅读全文
摘要:一、单爬虫运行 每次运行scrapy都要在终端输入命令太麻烦了 在项目的目录下创建manager.py(任意名称) 二、所有爬虫运行 1、在spiders同级创建commands目录(任意) 2、在其中创建 crawlall.py 文件,决定命令的运行 3、配置文件 4、manager.py
阅读全文
摘要:一、下载中间件 1、应用场景 代理 USER_AGENT(在setting文件中配置即可) 2、定义类 a、process_request 返回None 执行顺序 md1 request -> md2 request -> md2 response -> md1 response b、process
阅读全文
摘要:一、架构图 二、流程 1、引擎从调度器中取出一个URL,用于抓取 2、引擎把URL封装成一个请求(start_requests) 传递给下载器 3、下载器把资源下载下来,并封装成Response 4、爬虫解析(parse) Response 5、解析出实体(yield Item),交给pipelin
阅读全文
摘要:一、使用xpath 不在scrapy框架中通过response HtmlResponse->TextResponse->self.selector.xpath(query, **kwargs)->selector(self)->from scrapy.selector import Selector
阅读全文
摘要:设置代理的位置:下载中间件 一、内置代理(优点:简单,缺点:只能代理一个ip) 1、源码分析 process_request(self, request, spider)在下载器执行前执行 _set_proxy方法(设置代理)->self.proxies[scheme]->self.proxies
阅读全文
摘要:Scrapy引擎来爬虫中取起始的URL 1、调用start_requests方法(父类),并获取返回值 2、将放回值变成迭代器,通过iter() 3、执行__next__()方法取值 4、把返回值全部放到调度器中 在爬虫类中重写start_requests方法 from scrapy import
阅读全文
摘要:一、深度 配置文件 settings.py 二、优先级 配置文件 优先级为正数时,随着深度越大,优先级越低 源码中,优先级 三、源码分析 1、深度 前提:scrapy yield request对象 -> 中间件 ->调度器... yield Request对象没有设置meta的值,meta默认为N
阅读全文
摘要:一、原生 1、模块 2、RFPDupeFilter方法 a、request_seen 核心:爬虫每执行一次yield Request对象,则执行一次request_seen方法 作用:用来去重,相同的url只能访问一次 实现:将url值变成定长、唯一的值,如果这个url对象存在,则返回True表名已
阅读全文
摘要:一、items保存爬取的文件 items.py import scrapy class QuoteItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() text = scrapy
阅读全文
摘要:爬取:http://quotes.toscrape.com 单页面 # -*- coding: utf-8 -*- import scrapy class QuoteSpider(scrapy.Spider): name = 'quote' allowed_domains = ['quotes.to
阅读全文
摘要:介绍:大而全的爬虫组件 使用Anaconda conda install -c conda-forge scrapy 一、安装: windows 1.下载 https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 耐心等待网页刷新 pip3 instal
阅读全文
摘要:requests:伪造浏览器请求 请求 1.get requests.get( url='', params={ 'k1': ''v1, 'k2': 'v2' } ) 即 url?k1=k2&k2=v2 2.post requests.post( url='', # data 提交的数据 data={key: value}, # 请求头 headeres={}, # cookies值需要从get请
阅读全文
摘要:安装 注册App 添加中间件必须放在最前面,因为要先解决跨域的问题。只有允许跨域请求,后续的中间件才会正常执行。 配置你可以选择不限制跨域访问 或者你可以选择设置允许访问的白名单
阅读全文
摘要:class BaseResponse: def __init__(self): self.code = 1000 self.data = None self.error = None @property def dict(self): return self.__dict__
阅读全文
摘要:(1)安装tofrodos sudo apt-get install tofrodos (2)做一些优化 ln -s /usr/bin/todos /usr/bin/unix2dos ln -s /usr/bin/fromdos /usr/bin/dos2unix 第一种方法: cat -A filename 就可以看到Windows下的断元字符 ^M 要去除他,最简单用下面的命令: dos2un
阅读全文
摘要:参考:https://www.cnblogs.com/wupeiqi/articles/5246483.html 一、信号:就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者 如:在执行sql语句前或后,记录一条日志 二、用法 1、位置 2、导入模块 3、自定义函数 4、注册 三、Djan
阅读全文
摘要:基于select 作用:I/O多路复用是用于提升效率,单个进程可以同时监听多个网络连接IO。 server端 client端 主要作用:定制异步框架
阅读全文
摘要:作用:快速创建字典 特点:共用value
阅读全文
摘要:class PricePolicyInvalid(Exception): def __init__(self, msg): self.msg = msg
阅读全文
摘要:作用:一台服务器运行不同版本的模块 1、安装 2、过程 a.创建文件夹,用于储存虚拟环境 b.切换到该文件夹下 c.生成no-site-packages e.激活 f.下载模块 g.使无效
阅读全文
摘要:一、下载 pip3 install -i https://pypi.douban.com/simple flask-migrate 注意:依赖 flask-script 二、使用 manage.py from flask_script import Manager from flask_migrat
阅读全文
摘要:一、安装模块 二、功能: 1.增加 runserver 重要 manage.py cmd命令 2.位置传参,执行函数 3.关键词传参,执行函数
阅读全文
摘要:一、安装 二、使用(文件结构blueprint) 1、__init__.py 注意:a.SQLAlchemy的实例化必须在导入蓝图之前 b.必须导入models.py >储存ORM类 2、models.py a.导入db b.类必须继承db.Model 3、__init__.py中的create_a
阅读全文
摘要:1、基于threding.local,推荐使用 2、基于多线程
阅读全文
摘要:一、表关系 注意:要自己创建第三张表 二、操作数据
阅读全文
摘要:参考: https://www.cnblogs.com/wupeiqi/articles/8202357.html
阅读全文
摘要:1、连接数据库,并创建session from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine engine = create_engine( "mysql+pymysql://root:密码@127.0
阅读全文
摘要:1、简介 一种ORM 2、安装 3、连接数据库 4、创建/删除表(包含连接数据库) a、表类 b、创建/删除表 注意:sqlalchemy的表类不像django的orm那样可以更新,只能删除和重建
阅读全文