爬虫的四种数据解析方式

一, 引入 回顾requests实现数据爬取的流程: 指定url 基于requests模块发起请求 获取响应对象中的数据 进行持久化存储 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析。因为大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据。数据爬取的流程可以修改为: 指定url 基于requests模块发起请求 获取响应中的数据 数据解析 进行持久化存储 实现方式: 正则 bs4 xpath pyquery
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

java五年面试题目总结

面试之前觉得都挺好的,但是面试过程中才发现有些东西还是记得似是而非。当然,究其根本是因为确实没理解透彻,但是总结归类才可以更好的找到工作。我会持续更新这篇文章,以此来整理我面试中遇到的题目。 数据库类(以下可能会以不同的形式问,比如如何选择存储引擎等): 1. mysql 存储引擎:MyIsam 不支持事务,不支持外键,锁是表级锁,适用于并发量不高,并且读远大于写的场景;InnoDb 支持ACID事务性,支持外键,锁可以精确到行锁,因此支持高并发量。 2. count(1) 与 count(*
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

C2. Skyscrapers (线段树 + 分治 || 单调栈 + 思维)

题目: 传送门 题意: 你需要建 n 栋楼,第 i 栋楼最多能建 m[ i ] 层,然后你需要构造一个数组 a 使得对任意 i 满足 1 <= a[ i ] <= m[ i ], 且不能存在 j < i < k and a[ j ] > a[ i ] < a[ k ],也就是说不能同时存在 j 和 k 使得 a[ j ] > a[ i ] 且 a[ i ] < a[ k ],然后你得使得最后建好的 n 栋楼的总楼层最大,输出 a 数组。 1 <= n <= 500000, 1 <= m[ i
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

stm32——fmsc控制外部SRAM——小结

近期项目中使用到了 IS64LV25616AL 的芯片,因此我要总结一下。 IS64LV25616AL这个是256*16的的,数据格式是16位,所以一共有512KB的空间,比较大了,stm32F103zet6才64KB内部SRAM。 可以使能byte enable,进行8位的访问,只要设置好了后,可以像片内的sram一样,随意访问的片外的sram,可以使用指针形式,可以at绝对地址定位的方式(ac5、ac6两种方式都可以,但是有所区别)。 stm32把片内外设的1GB的空间用于访问 nor/p
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

LightOJ - 1375 反演/欧拉函数乱搞。。。。

这里有个小技巧 对于任意一个数n 与他 gcd 为k 的数 的和为 欧拉函数(n/k)*n*k/2 然后这题就可以在0(nlog)解决 不然你也可以用反演直接搞.... #include<bits/stdc++.h> #define MAXN 3000000 using namespace std; int p[MAXN/5],tot,euler[MAXN+5],T,n,cishu; unsigned long long sum[MAXN+5],fa[MAXN+5]; bitset<MAXN
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

《Flask Web开发:基于Python的Web应用开发实战》1day

《Flask Web开发:基于Python的Web应用开发实战》 想跟着学一遍flask,做一个博客,重点是做网页。希望,在之后的学习中,不要忘记重点以及不要放弃(还没怎么坚持过)。 ---题记 1. 安装 1.1 准备 在pycharm中新建了flask虚拟环境之后默认加载的flask程序: F1 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello Wor
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

linux如何配置普通用户(非root用户)的sudo权限

sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利,只需要普通用户输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中具有配置项,才具有使用sudo的权利。 没有配置权限之前,普通用户是无法进行root权限操作的,下图的user-1是用户的名字,例如普通用户查看/root目录下的文件: 使用root用户编辑/etc/sudoers文件,给普通用户授权 命令行输入visudo,打开/etc/sudoers文件,加入如下的内容,
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

Apache Tomcat 文件包含漏洞(CVE-2020-1938)

Apache Tomcat 文件包含漏洞(CVE-2020-1938) 一. 漏洞概述 2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。目前,厂商已发布新版本完成漏洞修复。 Tomcat是Apache
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

B/S端和C/S端

C/S架构(客户机/服务器模式) 分为客户机和服务器两层:一层是用户表示层,二层是数据库层。 C/S架构软件、需要客户端,安装后就可以使用。比如QQ,OFFICE软件等. 优点:1.C/S架构的界面和操作可以很丰富.(客户端操作界面可以随意排列,满足客户的需要) 2.安全性能可以很容易保证.(因为只有两层的传输,而不是中间有很多层) 3.由于只有一层交互,因此响应速度较快.(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢) B/S架构(浏览器/服务器结构) 无须特别安
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

Docker Redis5.0 集群搭建

〇、目标   1.在一台Centos7虚拟机中,以Docker搭建Redis集群(redis版本为5.0.x)。   2.六个节点,三主三从。 〇、准备   1.新建文件夹以放置各个节点的配置文件        2.编写各节点的配置文件     (1)从官网下载配置文件模板:     使用命令: wget http://download.redis.io/redis-stable/redis.conf -O <文件名>     例如 wget http://download.redis.io/
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

【转帖】中国信通院:1月国内手机总出货量下降38.9% 国产品牌下滑42.9%

中国信通院:1月国内手机总出货量下降38.9% 国产品牌下滑42.9% https://www.cnbeta.com/articles/tech/947459.htm 受疫情防控以及复工复产影响,1月国内手机市场出现了明显下滑。中国信通院最新发布的数据显示,1月,国内手机市场总体出货量2081.3万部,同比下降38.9%;国产品牌手机出货量1831.9万部,同比下降42.9%。 2月24日消息, 中国信通院发布2020年1月国内手机市场运行分析报告。报告显示,2020年1月,国内手机市场总体出
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

ZYNQ入门实例——三种GPIO应用、中断系统及软硬件交叉触发调试

一、前言   Xlinx的ZYNQ系列SOC集成了APU、各种专用外设资源和传统的FPGA逻辑,为ARM+FPGA的应用提供助力,降低功耗和硬件设计难度的同时极大提高两者间传输的带宽。之前在研究生课题中使用过ZYNQ搭建环路系统对算法进行板级验证,但并没有深入使用和理解这个异构平台,今天算是对入门的总结。一款SOC的入门必然是GPIO的使用,而中断则是MCU能保证实时性的必杀武器。硬件调试难度高一直是FPGA的痛点,集成ARM的FPGA更是如此,cross-trigger调试有效地解决了这一问
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

Mybatis随记(一)update动态SQL

1 <update id="updateUser"> 2 UPDATE user_info SET 3 <if test="gzhOpenId != null and gzhOpenId !=''"> 4 gzh_openid = #{gzhOpenId}, 5 </if> 6 <if test="nickname != null and nickname != ''"> 7
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

django-redis和redis连接

redis连接 简单连接 import redis r = redis.Redis(host='10.211.55.4', port=6379) r.set('foo', 'Bar') print r.get('foo') 连接池 import redis pool = redis.ConnectionPool(host='10.211.55.4', port=6379) r = redis.Redis(connection_pool=pool) r.set('foo', 'Bar
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

Codeforces Round #623----B. Homecoming

https://codeforces.ml/contest/1315/problem/B 思路:本题的坑点我认为在于BUS和TRAM重合的点,如果倒序从len遍历的话会出现这种情况:1 1 1 AB。 因为从A处上了BUS后就直接可以到达终点n了。所以遍历的时候要从len-1处开始遍历。 #include<bits/stdc++.h> #define _for(i,a,b) for(int i=a;i<=b;i++) using namespace std; typedef long long
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

吐槽一下python

关于python,优点有很多。例如,编码灵活,书写随意。 印象最深的就是,Duck Type。也就说,如果使用会走路和会飞来衡量鸭子, 那么如果一个物体,走路像鸭子,飞起来像鸭子,那么它就是鸭子。 def test(duck): duck.Walk() duck.Fly() class A(object): def Walk(): print("walk...") def Fly(): print("fly...")
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

VirtualBox为虚拟机服务器设置固定IP

1.服务器版本 CentOS 7.5 2.VirtualBox配置网络为桥接模式 3.物理机(宿主机)信息 ip:192.168.0.104 subnet mask:255.255.255.0 gateway:192.168.0.1 4.查看服务器ip信息 ip addr 服务器当前ip: 192.168.0.106, 网卡: enp0s3 5.修改配置文件 >vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet" BOO
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

一些琐碎的东西

看了一些之前的随笔作业,发现当时的排版太丑了,,看起来很费眼,真不知道老师是怎么看我们的作业的,真是辛苦了 博客园以后也会一直用下去,不仅是写技术方面的,还会分享一些日常~
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

【14】 DFS 机器人活动范围 (static插曲)

题目 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子? 思路 一开始没想到思路,后来想,不就是有障碍的DFS吗?以后看到这类题,一定要想到
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0

Javascript学习一

完整的javascript由语言基础,BOM和DOM组成。document是javascript的内JavaScript
分类: 其他 发布时间: 02-24 22:50 阅读次数: 0