spider
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import scrapyfrom kmzyw.items import KmzywItemclass KmzywSpiderSpider(scrapy.Spider): name = 'kmzyw_spider' allowed_domains = ['www.kmzyw.com.cn'] start_urls = ['https://www.kmzyw.com.cn'] url_list = [ { "code": "policy", "url": "https://www.kmzyw.com.cn/channel_11400/" ...
正则表达式语法
正则表达式语法一、限定符1. x?表示x可以有也可以没有 [0,1]2. x* 表示x可以有多个 [0,∞)3. x+ 表示x可以有一个及以上 [1,∞)4. 精确匹配
{}
精确匹配
m{x}
精确m匹配x个
m{x,n}
匹配m个数在x到n之间 [x,n]
m{x,}
匹配m个数在x及以上 [x,∞)
5. (ab)+ 表示匹配多个重复ab6. a(m|n) 表示匹配 am 或 an7. [ab]+ 表示只匹配[]里存在的字符8. ^ 表示非9. ^x 只匹配行首 x10. x$ 只匹配行尾 x9. . 表示除换行符外任意字符10. 元字符(特殊字符)
元字符
\d+
数字字符 [0,9]
\w+
单词字符(英文,数字,下划线)
\s
空白符(Tab和换行符)
\D+
非数字字符
\W+
非单词字符(特殊字符)
\S+
非空白字符
scrapy创建爬虫
scrapy创建爬虫原理:
步骤:
scrapy环境安装(默认已有Python环境和pi包管理工具
1pip install scrapy
创建工程
1scrapy startproject 项目名
创建爬虫文件
先导航到已创建的工程下,然后再创建爬虫文件
12cd 项目名scrapy genspider fileName 目标网站
在 items.py 里定义需要抓取的数据属性
运行程序测试
1scrapy crawl 爬虫名(fileName)
配置启动文件main.py:(可省略此步骤)
123from scrapy import cmdlinecmdline.execute('scrapy crawl 爬虫名'.split())
利用xpath编写解析文件(主要获取节点信息),编写xpath规则:(也可自主使用其他解析工具)
12//div[@class='article']//ol[@class='grid_view']/li注:先定位到目标的上一级在进行解析
在爬虫文件里定义 ...
http
HTTP和HTTPS1. HTTP 超文本传输协议
默认端口号:80
2. HTTPS HTTP + SSL(安全套接 字层)
默认端口号:443
HTTPS比HTTP更安全,但性能更低
4. url的形式 url的形式:scheme://host[:port#]/path/.../\[?query-string][#anchor]
scheme: 协议(例如:http、https、ftp)
host:服务器的IP地址或域名
port:服务的端口号(如果是走协议默认:80或443)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)
5. HTTP请求的形式
6.HTTP常见请求头 1. Host: 主机和端口号
2. Connection keep-alive(链接类型)告诉对方服务器是什么客户端正在请求资源,爬虫中模拟浏览器非常重要的一个手段
3. Upgrade-Insecure-Requests(升级为HTTPS请求)
4. User-Age ...
爬虫
爬虫概念:网络爬虫(又被称为网页蜘蛛,网络机器人),一中按照一定规则抓取网络信息的程序
原理:模拟客户端发送请求,接收请求响应
一、爬虫分类
通用爬虫:一般指搜索引擎的爬虫
聚焦爬虫:针对特定网站的爬虫
二、爬虫的流程1、聚焦爬虫的工作流程1.1 聚焦爬虫的工作流程图: graph TD
A[url list] -->B[响应内容]
B-->D[提取数据]
B-->C[提取url]
C-->A
D-->E[入库]
1.2 搜索引擎工作流程图 graph TD
抓取网页数据-->数据存储-->预处理-->提供检索服务
1.3 浏览器的请求过程 浏览器获取的数据包含: url地址对应的响应 +js+CSs+jpg
爬虫会获取:url地址对应的响应
爬虫获取的内容和elements内容不一样,进行数据提取的时候,需要根据url地址对应的响应为准
1.4 robots协议(身份标识)robots协议:网站通过robots协议告诉搜索引擎那些网页可以抓取,那些不能,但仅仅是道德层面的约束
1.5 requests发送简单 ...
浏览器小技巧
浏览器小技巧1、播放速度调节调节B站倍速播放 ,谷歌浏览器按 F12 ,点选console输入:
1document.querySelector('video').playbackRate = 4
Iview
Iview导航栏路由跳转原生路由:通过name push()跳转
1234567891011121314<!--绑定方法 @on-select="handleSelect"--><Menu> <MenuItem name="Name1"></MenuItem> <MenuItem name="Name2"></MenuItem></Menu><script> export default{ methods:{ handleSelect (name){ this.$router.push(name); } } }</script>
说明:节点跳转
iview3.x:to属性跳转
12<div to="/Name1">& ...
jpa基础
JPA1、JPA概述
1. Jpa是什么?1)Java Persistence API:用于对象持久化的 API2)Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层
2、JPA和Hibernate的关系1)JPA 是 hibernate 的一个抽象(就像JDBC和JDBC驱动的关系):JPA 是规范:JPA 本质上就是一种 ORM 规范,不是ORM 框架 —— 因为 JPA 并 未提供 ORM 实现,它只是制订了一些规范,提供了一些编程的 API 接口,但 具体实现则由 ORM 厂商提供实现
Hibernate 是实现:Hibernate 除了作为 ORM 框架之外,它也是一种 JPA 实现
2)从功能上来说, JPA是Hibernate功能的一个子集3、JPA的优势1)标准化:提供相同的 API,这保证了基于JPA 开发的企业应用能够经过少量的修改就能够在不同的 JPA 框架下运行。
2)简单易用,集成方便: JPA 的主要目标之一就是提供更加简单的编程模型,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.pers ...
Spring boot
Spring boot名词:
EJB – Enterprise Java Bean
IoC – Inversion of Control
MVC – Modal View Controller
Rapid application development – 快速应用开发领域
1.基本原理spring以强大的控制反转(IoC)来管理各类java资源,从而降低了各种资源的耦合合;并且提供了极低的侵入性,也就是使用Spring框架开发的编码,脱离了 Spring Api 也可以继续使用 :而 Spring 的面切面的编程( AOP )通动态代理技术,允许我们按照约定进行编程,进而增强了 Bean 的功能,它擦除了大量重复的代码。
2.优点 • 创建独立的 Spring 应用程序
• 嵌入的 Tomcat Jetty 或者 Undertow ,无须部署 WAR 文件;
• 允许通过 Maven 来根据需要获 starter;
• 尽可能地自动配置 Spring;
• 提供生 就绪型功能,如指标、健康检查和外部配置;
• 绝对没有代码生成,对 XML 没有要求配置
...
Vue常用指令
Vue常用指令
v-pre:原样输出
v-once:一直输出原始值
v-cloak:加载前编译,避免闪烁(长与display:none一起使用)
v-bind:动态绑定
v-on: 事件绑定 (既要传参又要传递事件是时在事件前加$放在参数后传递)
计算属性(comouted):多次调用一次运行,将结果缓存下来,而函数则是调用一次执行一次。
v-if与v-show:v-if当值为真时渲染,而v-show不管条件是什么元素总会被渲染,由css通过判断值控制显示
v-model:双向绑定—拓展:可由(:value=”msg” @input=”msg=$event.target.value”)实现双向绑定功能(.lazy:懒加载,当失去焦点后才绑定)(.trim去首位空格)


