07 2021 档案
摘要:1.正则表达式 非零的正整数 var reg = /^[1-9][0-9]*$/; 包含零或者正整数 var reg = /^(0|[1-9][0-9]*)$/; 非零开头最多带两位小数的数字 var reg = /^[1-9][0-9]*([\.][0-9]{1,2})?$/; 最多带两位小数的数
阅读全文
摘要:1.Flask-Migrate的使用 flask-migrate相关配置: 1 from Application import app 2 from common.models.model import db 3 from flask_migrate import Migrate, MigrateC
阅读全文
摘要:1.自定义序列化 Result={} # 序列化 def serializer(self, obj_list): result = [obj.__dict__ for obj in obj_list] for res in result: res.pop('_sa_instance_state')
阅读全文
摘要:1.前言 在学习flask_jwt_extended插件的时候遇到许多问题,究其原因是因为版本问题,4.0以后的版本在语法上做了许多优化,而我是参考较低版本的flask_jwt_extended学习的,一开始不明白出问题的原因,所以参考了许许多多博友的思路和写法,发现并没有问题,后来想到去看官方的文
阅读全文
摘要:1.Scrapy架构图(绿线是数据流向) Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。 Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列
阅读全文
摘要:一、Linux上安装scrapyd 1. linux下安装python3 可参考我之前博文:https://www.cnblogs.com/Liu928011/p/14864190.html 2. 安装scrapyd并配置软链接 安装scrapyd:pip3 install scrapyd 配置软链
阅读全文
摘要:什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集。单机爬虫就是只在一台计算机上的爬虫。 其实搜索引擎都是爬虫,负责从世界各地的网站上爬取内容,当你搜索关键词时就把相关的内容展示给你,只不过他们那都是灰常大的爬虫,爬的内容量也超乎想象,也就无法再用单机爬虫去实现,而是使用分布
阅读全文
摘要:一、协程的定义 协程又叫微线程,比线程还要小的一个单位;协程不是计算机提供的,是程序员自己创造出来的;协程是一个用户态的上下文切换技术,简单来说,就是通过一个线程去实现代码块(函数)之间的相互切换执行。 二、协程的特点 1. 使用协程时不需要考虑全局变量安全性的问题。 2. 协程必须要在单线程中实现
阅读全文
摘要:项目简介:爬取猫眼电影中所有影人的信息,包括其中文名、英文名、职业、生日、身高、代表作、粉丝数、和累计票房数,并保存至MongoDB数据库中。 项目难点一:粉丝数和累计票房数的CSS字体加密破解。 项目难点二:爬取过程中出现滑块验证码的破解。 项目思路分析:爬取所有影人信息,在这里采用传统的分页式爬
阅读全文
摘要:在使用 Python 做爬虫的时候,我们需要伪装头部信息骗过网站的防爬策略,Python 中的第三方模块 fake_useragent 就很好的解决了这个问题,它将给我们返回一个随机封装了好的头部信息,我们直接使用即可 fake_useragent的安装 pip install fake_usera
阅读全文
摘要:1.什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产
阅读全文