摘要:
Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相 阅读全文
摘要:
SQLAlchemy 1.介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: E 阅读全文
摘要:
requests selenium Beautifulsoup4 Scrapy 分布式爬虫 红薯小说破解 破解知乎登陆 下载哔哩哔哩视频 阅读全文
摘要:
一 寻找任意一个视频地址 例如这个: 拿出窗口中的链接:https://www.bilibili.com/video/av76609390,修改源代码中的url即可完成下载 #由于哔哩哔哩视频音频是分开的,所以下来下来的视频是两个,一个音频,一个视频,要视频和音频合成,可看另一偏博客 二 分析页面 阅读全文
摘要:
一 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon As 阅读全文
摘要:
一 介绍 原来scrapy的Scheduler维护的是本机的任务队列(存放Request对象及其回调函数等信息)+本机的去重队列(存放访问过的url地址) 所以实现分布式爬取的关键就是,找一台专门的主机上运行一个共享的队列比如Redis, 然后重写Scrapy的Scheduler,让新的Schedu 阅读全文
摘要:
一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.你可能在寻找 Beautiful Soup3 的文档,Beauti 阅读全文
摘要:
一 介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 from selenium 阅读全文
摘要:
一 介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 #安装 阅读全文
摘要:
Elasticsearch之-Django/Flask集成 一 elasticsearch-dsl #安装: pip3 install elasticsearch-dsl #示例 from datetime import datetime from elasticsearch_dsl import 阅读全文
摘要:
Elasticsearch高级之-集群搭建,数据分片 es使用两种不同的方式来发现对方: 广播 单播 也可以同时使用两者,但默认的广播,单播需要已知节点列表来完成 一 广播方式 当es实例启动的时候,它发送了广播的ping请求到地址224.2.2.4:54328。而其他的es实例使用同样的集群名称响 阅读全文
摘要:
Elasticsearch之-Python使用 from elasticsearch import Elasticsearch obj = Elasticsearch() # 创建索引(Index) result = obj.indices.create(index='user', body={"u 阅读全文
摘要:
7-Elasticsearch之高亮查询 一 前言 如果返回的结果集中很多符合条件的结果,那怎么能一眼就能看到我们想要的那个结果呢?比如下面网站所示的那样,我们搜索elasticsearch,在结果集中,将所有elasticsearch高亮显示? 如上图我们搜索百度一样。 我们该怎么做呢? 二 准备 阅读全文
摘要:
8-Elasticsearch之聚合函数 一 前言 聚合函数大家都不陌生,elasticsearch中也没玩出新花样,所以,这一章相对简单,只需要记得: avg max min sum 以及各自的用法即可。先来看求平均。 二 准备数据 PUT lqz/doc/1 { "name":"顾老二", "a 阅读全文
摘要:
6-Elasticsearch之布尔查询 一 前言 布尔查询是最常用的组合查询,根据子查询的规则,只有当文档满足所有子查询条件时,elasticsearch引擎才将结果返回。布尔查询支持的子查询条件共4中: must(and) should(or) must_not(not) filter 下面我们 阅读全文
摘要:
7-Elasticsearch之查询结果过滤 一 前言 在未来,一篇文档可能有很多的字段,每次查询都默认给我们返回全部,在数据量很大的时候,是的,比如我只想查姑娘的手机号,你一并给我个喜好啊、三围什么的算什么? 所以,我们对结果做一些过滤,清清白白的告诉elasticsearch 二 准备数据 PU 阅读全文
摘要:
4 Elasticsearch之排序查询 一 准备数据 PUT lqz/doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } PUT lqz/doc/2 { "na 阅读全文
摘要:
5-Elasticsearch之分页查询 一 准备数据 PUT lqz/doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } PUT lqz/doc/2 { "na 阅读全文
摘要:
Elasticsearch之查询的两种方式 一 前言 简单的没挑战,来点复杂的,elasticsearch提供两种查询方式: 查询字符串(query string),简单查询,就像是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索。 另外一种是通过DSL 阅读全文
摘要:
term与match查询 一 match查询 1.1 准备数据 PUT lqz/doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } PUT lqz/doc/2 { 阅读全文