自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 网络爬虫之基于前面爬取百度图片代码的修改的总结

关于bug这没啥好说的,程序员写代码怎么可能没有bug?有则改之,无则加勉嘛…但是有些bug,真是让人头疼,就比如我之前的一篇文章爬取百度图片,想爬谁就爬谁,这篇文章的代码其实也没什么问题,问题就出在返回的数据有问题,那怎么办,当bug改呗。遇到事情不要慌,先把心情平静下来,然后再思考程序员写bug这是常有的事,要有一颗平常心,罗马也不是一天建成的不是…

2024-07-19 14:02:22 329

原创 数据解析的四种方式

话说pyquery这个库运用的比较熟练,因为以前java编程的时候,经常写jsp代码,用jquery的ajax进行异步请求,对html、js、css都还比较熟悉,不过现在好久没用了,基本上不写前端代码了,应该生疏了。以上几种方式随便用哪一个都可以,最好是都能熟练运用。现在先记录下来,后面再把每一种解析数据的方法都详细说明一下,来检验自己,希望能查漏补缺,让技术更加扎实。

2024-07-18 23:11:56 185

原创 爬取百度图片,想爬谁就爬谁

既然是做爬虫,那么肯定就会有一些小心思,比如很久很久以前的梦中女/男神早已不见踪影,那咱就去爬一爬她/他的图片吧。因为是循环爬取,所以url肯定是动态的,也就是改一下pn的值,查询的人物的名称,保证通用性。而且发现单纯的请求返回的数据不正常,这个时候我们就得加上headers了,这个没办法,百度肯定会有一些防御性的措施来防止爬虫捣乱。# 需要发送请求return url。

2024-07-18 20:18:19 435

原创 网络请求之cookie的使用

首先我们要清楚网络请求是无状态的,也就是说请求响应一次就结束了,下一次再去请求,服务器根本不知道这次和上次请求是不是同一个来源,所以呢,cookie就诞生了,就是服务器在接收请求之后,会创建cookie,响应的时候将cookie发送给客户端,下次如果客户端发送请求的时候把cookie中的信息一起发送给服务端,那服务端就会确定这次和上次请求是同一个客户端发起的。

2024-07-17 21:00:00 472

原创 网络请求之代理proxy

这个就涉及到安全问题了,你要是用一个IP频繁的访问人家网站,这不就是在搞事情么,人家网站肯定得把你的IP禁掉。所以我们爬虫的时候就得经常换IP,就是拿别人的IP不同人的IP访问网站去爬取数据。这里用到了urllib.request的ProxyHandler对象,不多说,上代码。我们去找一个免费IP拿来用,我这百度搜了一下。查看结果还可以,这个能用,返回数据正常。我们随便找一个IP试试。

2024-07-17 20:30:00 186

原创 网络请求之urllib.request的使用(Get方式)

urllib.request用于打开和读取url,模拟浏览器发送一个http请求,并获取响应结果。

2024-07-16 23:20:29 253

原创 网络请求之urllib.parse的使用

后面的参数:word=%E6%A8%B1%E7%94%B1%E7%BD%97 明显是汉字被编码了,因为爬虫就是要模拟浏览器发送请求给服务器,所以爬数据的时候就得根据url的实际情况进行编码,这就是urllib.parse的意义。为什么要解析呢,我来举个例子。urllib.parse的作用是解析url。

2024-07-16 22:01:51 198

原创 安装numpy遇到的问题

不知道为什么豆瓣的源不能用了,所以改成阿里云的,安装numpy成功!

2024-05-07 23:24:51 166

原创 解决springcloud gateway 无法路由的问题

昨天小伙伴问我springcloud gateway 无法路由转发的问题,现在记录一下现在企业微服务架构基本上都是用springcloud体系了,在国内基本上新项目都用springcloud alibaba,而且基本上都是所有服务聚合在一个父项目中。springcloud gateway可以实现路由负载均衡等等功能,但是应用过程中,会有一些坑。

2023-03-17 16:41:36 4231

原创 设计模式之策略模式

策略模式

2022-07-19 18:02:38 151

原创 归并排序中的小和问题

归并排序,小和问题

2022-07-12 22:38:48 247

原创 简单的归并排序算法

归并排序

2022-07-09 11:47:06 367

原创 输出从100到999中的水仙花数

水仙花数

2022-06-23 15:49:33 429

原创 Hadoop-hdfs分布式集群

hadoop、hdfs、分布式

2022-06-02 20:21:09 141

原创 Centos6.5的ssh免密设置

Linux、centos、免密

2022-06-02 16:27:43 385

原创 克隆虚拟机并设置环境

Linux、克隆、虚拟机、环境配置

2022-06-02 14:51:47 195

原创 Centos6.5虚拟机环境配置

Centos6.5、Linux基础环境配置、虚拟机

2022-06-02 12:30:35 213

原创 Hadoop-hdfs单机伪分布式安装(自己玩)

设置基础环境设置主机名[root@localhost ~]# vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=baseimagehosts映射[root@baseimage ~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdoma

2022-05-30 22:37:12 130

原创 【一篇文章学会Docker】

Docker学习总结什么是dockerdocker与虚拟机镜像和容器镜像(Image)容器(Container)Docker架构Centos7安装Docker卸载老版本安装Docker需要虚拟机联网,安装yum工具更新本地镜像源输入命令关闭防火墙启动docker配置docker的镜像加速Docker基本操作镜像相关命令拉取镜像安装打包好的镜像打包镜像加载镜像容器相关命令docker rundocker logs数据卷挂载数据卷安装mysqlDockerfile自定义镜像什么是DockerfileDocker

2022-04-27 00:48:25 110

原创 kafka集群搭建

只是简单记录搭建的过程,有时间再详细说明。前置环境准备4台虚拟机(node(01~04))node02、node03、node04上已经安装了zookeeper集群zookeeper集群搭建node01、node02、node03准备安装kafka集群kafka集群安装下载kafka[root@node01 soft]# wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.0/kafka_2.12-2.1.0.

2021-08-03 19:15:00 77

原创 zookeeper集群搭建

简介本篇是从实战出发,搭建zookeeper集群。zookeeper可以当做一个内存数据库,主要是对项目配置做集中管理、服务的注册发现、分布式锁等等。前置条件准备奇数台虚拟机,最少3台,我这里准备了4台,目的是偶数台比较复杂,方便以后学习用。node01、node02、node03、node04这4台虚拟机配置好ip、hostname等等安装好jdk,我这里是jdk1.8,并配置好环境变量。shell命令jps可用即可。安装zookeeper官网下载二进制安装文件新版本的安装

2021-07-30 03:04:33 168

原创 异或运算及相关面试题

异或定理异或:相同为0,不同为1.也就是无进位相加。0 ^ N = NN ^ N = 0(a ^ b) ^ c = a ^ (b ^ c)相关面试题1.如何不用额外变量交换两个数2.一个数组中有一种数出现了奇数次,其他数都出现了偶数次,怎么找到并打印这种数3.怎么把一个int类型的数,提取出来最右侧的1结果:a & (-a) ,也就是 a & (~a + 1),因为 -a = ~a + 1.4.一个数组中,有两种数出现了奇数次,其他数都出现了偶数次

2021-07-28 17:57:23 190

原创 排序算法(插入、冒泡、选择排序)

插入排序对整数数组 int[] arr 进行插入排序0~0位置有序0~1位置有序:盯住1位置往前看,前面数大,则交换,继续往前看…0~2位置有序:盯住2位置往前看,前面数大,则交换,继续往前看……0~n-1位置有序:盯住n-1位置往前看,前面数大,则交换,继续往前看… public static int[] insertSorted(int[] arr){ //元素少于2个就不用排序了 if(arr == null || arr.length <

2021-07-28 17:09:43 152

原创 复杂度、对数器、二分法

复杂度包括固定时间的操作和非固定时间的操作,也就是时间复杂度、额外空间复杂度、常数项时间。固定时间的操作常数操作数组寻址(连续的)非固定时间的操作LinkedList的寻址(不连续的)评估算法优略的核心指标时间复杂度(流程决定)‘额外空间复杂度(流程决定)常数项时间(实现细节决定)- 常见的算数运算(+、-、*、/、%等)- 常见的位运算(>>、>>>、<<、|、&、^等)- 赋值、比较、自增、自减操作等- 数

2021-07-28 16:41:16 80

原创 算法学习开始篇

记录一下算法学习的过程包括力扣或者网上找到的面试题等资源基本公共类CommonUtils.javapackage com.mmm.algorithm.algorithm.common;/** * @author mmm */public class CommonUtils { /** * 打印数组 * @param arr */ public static void printArray(int[] arr){ for (

2021-07-28 16:18:28 75

原创 centos 的阿里云yum源不能用了,改成了企鹅的

*不知道阿里云出什么问题了,阿里云的yum镜像源一直不能用,没办法,改成腾讯的yum源了*

2021-07-05 09:35:55 1528

原创 【事无巨细】史上最全的elkb教程之(三)Kibana的安装

简介Kibana是elastic search的可视化分析工具。它可以对es进行高级的数据分析,以图表、表格地图等形式查看数据。安装Kibana1.下载去elastic search的官网进行下载,下载好的文件如:kibana-7.12.0-linux-x86_64.tar.gz2.解压文件到/usr/local/elkb/目录下并将文件授权给user_es用户。因为kibana默认不能root启动[root@localhost softwares]# ll总用量 625040-rw-r-

2021-03-28 16:51:57 348 1

原创 【事无巨细】史上最全的elkb教程之(二)elasticsearch-head安装

前置环境已经安装了elastic search见我的上一篇【事无巨细】史上最全的elkb教程之(一)elastic search安装已经安装了git见已经安装了nodejs见Centos7下nodjs安装安装elasticsearch-hard下载elasticsearch-hard插件[root@localhost git-2.31.0]# cd /usr/local/elkb[root@localhost elkb]# git clone https://github.com/mob

2021-03-26 01:25:12 258 1

原创 Centos7下nodejs安装

去nodejs中文官网下载并解压配置环境变量[root@localhost elkb]# vim /etc/profileexport NODE_HOME=/usr/local/elkb/node-v14.16.0-linux-x64export PATH=$JAVA_HOME/bin:/data/install/git/bin:$NODE_HOME/bin:$PATH新增配置刷新配置[root@localhost elkb]# node -vv14.16.0[root@local

2021-03-26 01:09:38 166

原创 Centos7下git安装

为什么要安装gitLinux默认安装的git版本比较低,所以需要安装教新版的git安装wget,并下载git[root@localhost softwares]# yum install -y wget[root@localhost softwares]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.0.tar.gz[root@localhost softwares]# ll总用量 329716-rw-r

2021-03-26 00:59:47 268

原创 【事无巨细】史上最全的elkb教程之(一)elastic search安装

前置准备纯净的Linux环境我这里安装的是Contos 7[root@localhost ~]# uname -aLinux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux[root@localhost ~]# 安装jdk目前elastic search 最新版本是 ,支持jdk8 ~16,我这里安装的是jdk8[r

2021-03-26 00:43:12 1769

原创 分布式基础——2.创建virtual box 虚拟机

admin-vue:面向工作人员使用的后台管理系统shop-vue:面向公众访问的网站系统安装virtual box安装vagrant重启电脑 cmd 命令行中执行命令 vagrant 验证是否安装成功执行命令 vagrant init centos/7 ,在用户目录下会生成一个文件:vagrantfile然后,命令行执行 vagrant up 来启动虚拟环境,会时间很长,要去官方下载镜像并启动虚拟容器...

2020-12-19 17:59:38 88

原创 安装linux虚拟机

首先得安装好vmware workstation,打开软件进入如下界面。点击“创建新的虚拟机”,选择自定义(高级)选项,一路下一步,直到出现下面的界面,选择稍后安装操作系统。一路下一步,填写好虚拟机名称,不要有中文及空格。一路下一步,最后点击完成,中间不需要任何其他操作。然后点击编辑虚拟机设置设置好安装的系统文件路径点击确定。点击开启此虚拟机。选择第...

2020-12-19 17:51:17 304

原创 各种数据库的jdbc配置

以前Mysql、MariaDB进行jdbc操作的时候,驱动都是com.mysql.jdbc.Driver,前一段时间,进行mariadb操作的时候突然不行了,现在对各个数据库jdbc配置进行总结,以备不时之需。Oracle的配置 //Oracle配置 private static final String driver = "oracle.jdbc.driver.Oracl...

2019-11-25 14:42:21 482

原创 mysql-表分区-hash分区

hash分区的目的是将数据均匀的分布到对应分区中,如果表中有主键或唯一索引,分区列必须是主键或唯一索引的一部分。hash分区创建分区是“PARTITION BY HASH(expr)”实现的,expr是整数列或者可以将分区列转换成整数的表达式。1.已经存在的表创建分区CREATE TABLE `test_user_hash` ( `user_id` bigint(19) NOT ...

2019-11-05 11:17:24 3647

原创 mysql-表分区-list分区

list分区跟range分区类似,区别在于list分区的值是一个离散的整数值集合,每个分区的整数值集合不能有交集。list分区是以“PARTITION BY LIST(expr)”实现的,expr可以是一个返回值是整数的表达式,或者是表的某个整数列。然后通过values in(逗号分隔的整数列表)。1、对已有表进行list分区CREATE TABLE `test_user_list`...

2019-11-04 21:42:33 3141

原创 mysql-表分区-range分区

range分区列必须包含在主键中,而且列的每个分区都是一个值区间,每个值区间不能有交集,否则数据插入时,数据库无法确定应该插入到哪个表分区中。1、已经创建的表添加range分区分为4个区:p0、p1、p2、p3p0:ext_int<100;p1:100<=ext_int<200;p2:200<=ext_int<300;p3:ext_int&gt...

2019-11-04 17:39:16 741

原创 mysql表分区

mysql处理少量数据非常方便,但是当表中数据量过大,进行增删改查操作时就会很慢。mysql的数据处理瓶颈是百万级,但是随着业务的深入,业务量的增多,存储的数据肯定会上升到千万级以上,这个时候就要对表进行处理了。前期阶段可以先对表进行水平或垂直拆分处理,后期可能就需要进行分库等操作了,本文只是对表的分区进行总结。mysql的表分区包括range、list、hash、hash线性、key分区等等...

2019-11-04 17:39:08 164

原创 Arrays$ArrayList转java.util.ArrayList

前两天遇到一个问题,要对一个集合的某个值进行删除操作。我以前有过总结,删除List的某个原色,最好用for i 这种遍历形式,因为它是单线程的。(见①)正常的new 出来的List删除是没问题的。但是用Arrays转化成的ArrayList,就出现问题了。public static void test1(){ List<String> typeList = A...

2019-08-22 19:39:05 1366

原创 LockSupport的使用

LockSupport可以唤醒1个线程的等待,不需要使用Synchronized wait notify 等操作,所以,在对一个线程进行等待唤醒才做时非常方便。但是如果是多线程之间的阻塞唤醒,做好还是用ReentrantLock等方式。import java.util.concurrent.locks.LockSupport;public class UseLockSupport { ...

2018-12-18 16:30:14 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除