- 博客(45)
- 收藏
- 关注
原创 打卡学习Python爬虫第六天|处理cookie登录小说网
一些网站不需要登录就能看到信息,但对于需要登录才能看见信息的网站,我们就需要借助cookie,使爬虫能够顺利登录网站,从而获取所需数据。右键-->检查或者直接按F12,进入开发者页面,找到数据,拿到其url。1、登录后查看页面源代码。4、保存为json文件。并没有我们需要的数据。
2024-08-23 20:25:53
448
原创 打卡学习Python爬虫第五天|使用Xpath爬取豆瓣电影评分
思路:使用Xpath爬取豆瓣即将上映的电影评分,首先获取要爬取页面的url,查看页面源代码是否有我们想要的数据,如果有,直接获取HTML文件后解析HTML内容就能提取出我们想要的数据。其次观察HTML代码的标签结构,通过层级关系找到含有我们想要的数据的标签,提取出数据。数据存放在同一级的多个li标签中,我们只需要利用相对查找,循环遍历就能找到所有的libi'a。这里我们可以看到,有的电影是暂时没有评分的,等一下爬出的数据要做处理。找到想要的标签-->右键-->复制-->复制完整的Xpath。
2024-08-22 22:10:06
474
原创 打卡学习Python爬虫第四天|bs4爬取优美图库的小清新图片
bs4解析比较简单,通过HTML的标签和属性去提取值,但是需要了解HTML的语法知识,然后再使用bs4去提取,逻辑和编写难度就会比较简单和清晰。思路:通过小清新图片的源代码获取子页面的链接,再将子页面的链接作为一个url,通过循环访问子页面来获取每一个子页面中的图片。一、安装bs4(PyCharm终端输入)六、根据子页面源代码特征提取想要的内容。五、将子页面链接作为新的url访问。目标:爬取优美图库的小清新图片。二、 找到网页url。
2024-08-20 17:56:40
460
原创 打卡学习Python爬虫第三天|电影天堂案例
观察网页和页面源代码,每部电影都有一个超链接去到子页面,我们需要的内容在子页面,如果我们一个一个子页面的去爬取会比较麻烦,可以尝试先通过首页爬取子页面的超链接,在通过子页面链接与首页url拼接的方式去访问每一个子页面。需要其它内容,修改获取子链接数据的正则表达式即可,按自己需求来。目标:爬取最新更新的电影的豆瓣链接。
2024-08-18 23:09:01
624
原创 打卡学习Python爬虫第三天|爬取豆瓣电影Top250排行榜(附源码)
注意正则表达式的使用,先观察网页源代码,我们发现每一部电影的数据存放在一个中,如上图。这时候我们发现没有了刚才的字母,但是出现了其它的内容,这时候我们需要在电影名的位置加上(),并在()中写?P,中给该位置的数据取一个名字,这就表示只要这个数据:如下第三个.*?这里获取:电影名,时间,国家,评分,评价人数,短评。二、查看数据是否存在于网页源代码中。
2024-08-18 20:09:56
710
原创 打卡学习Python爬虫第三天|python的re模块的使用
1、findall查找所有,返回list2、search会进行匹配,返回匹配到的第一个结果,没有匹配到则返回None3、match只能从字符串的开头进行匹配4、finditer,和findall差不多,只不过这时返回的是迭代器(重点)5、 compile()可以将一个长的正则表达式进行预加载,方便后面的使用6、正则表达式中的内容如何单独提取可以通过分组对正则表达式的内容进行进一步的筛选
2024-08-18 16:10:01
740
原创 打卡学习Python爬虫第二天|数据解析Re 正则表达式
正则表达式:Regular Expression,一种使用表达式的方式对字符串进行匹配的语法规则。我们抓取的网页源代码本质上就是一个超长的字符串,想从中提取内容,用正则表达式刚好合适。正则表达式的语法:使用元字符(具有固定含义的特殊字符)进行排列组合来匹配字符串,在线测试正则表达式:https://tool.oschina.net/regex/在前面的学习中,我们已经基本掌握了抓取整个网页的基本技能,但是在实际的需求当中,我们不需要整个网页的内容,只需要一小部分。
2024-08-17 21:47:47
892
原创 打卡学习Python爬虫第二天|Requests的使用
requests库是一个非常流行和强大的HTTP库,它用于在Python中发送HTTP请求。这个库的主要特点是其简洁和易于使用的API,使得发送网络请求和获取响应变得非常简单。以下是requests发送HTTP请求requests库允许你发送各种类型的HTTP请求,如GET、POST、PUT、DELETE等。处理响应:每次发送请求后,requests会返回一个response对象,这个对象包含了响应的所有信息,如状态码、响应头、响应内容等。
2024-08-17 19:35:42
1270
原创 打卡学习Python爬虫第二天|HTTP协议
状态行 --> 协议 状态码 200为正常 响应头 --> 一些客户端要使用的一些附加信息 (数据加密,密钥等) 响应体 --> 服务器返回真正的用户端要用的内容(HTML,json)等。POST: 隐式提交。
2024-08-17 14:58:28
662
原创 打卡学习Python爬虫第二天|Web请求过程刨析
接收到客户端的请求后,会生成页面的初始HTML内容,并将其发送给客户端。客户端渲染在第一次请求时只得到一个HTML骨架和必要的Js和CSS ,第二次请求才能拿到数据,进行数据展示,在页面源代码中看不到数据。
2024-08-17 12:57:11
691
原创 打卡学习Python爬虫第一天|抓取百度首页html代码
# 1. 导入urllib.request模块# 2. 调用urlopen函数,传入URL地址,获取网页内容# 3. 打印网页内容# 4. 运行程序,查看结果
2024-08-16 19:52:36
950
原创 打卡学习Python爬虫第一天|python爬虫环境搭建
Anaconda 包及其依赖项和环境的管理工具为 conda 命令,文与传统的 Python pip 工具相比 Anaconda 的conda 可以更方便地在不同环境之间进行切换,环境管理较为简单。python是我们将解压安装包得到的目录重命名为python了,要根据自己的情况作相应变化。可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。编译的源代码,功能上有更多的选择性, 为 Python 安装提供了更多的灵活性。
2024-08-16 18:56:34
2105
1
原创 打卡学习Python爬虫第一天|什么是爬虫?
爬虫,全称为网络爬虫,是一种自动获取网页内容的程序或脚本。它通过模拟人类浏览网页的行为,按照一定的规则和算法,自动访问互联网上的网页,提取所需信息,并可以递归地跟踪网页上的链接访问其他网页。爬虫的主要用途包括数据采集、信息监测、搜索引擎索引构建等。简单来说,爬虫就是自动化地在网上抓取和收集信息的工具。
2024-08-16 16:17:28
1327
原创 远程工具(DBeaver或者Navicat)连接不上MySQL数据库解决方法
远程工具(DBeaver或者Navicat)连接不上MySQL数据库解决方法
2023-12-26 20:04:59
823
原创 虚拟机(Liunx)怎么联网(桥接模式)
我们采用自定义IP、网关、子网掩码和DNS服务器的方式,并设置IP为静态IP,这样IP地址就不会改变,否则每一次开机IP地址都会不一样。注意:桥接模式换了WiFi后,如果网段不同,会ping不通的。IPADDR是自己定义的虚拟机ip地址,但其网段(这里是43)必须与网关的网段43一致。GATEWAY就是网关,需要于前面在命令提示符中看到的无线局域网的网关一致。打开虚拟机并切换至root用户,用root用户来配置,否则权限不够。ONBOOT改为yes,代表开机自启。测试一下,ping ip地址和网关。
2023-12-17 19:06:41
636
原创 Linux中检查网络问题常用命令
这些命令提供了关于网络连通性、接口配置、服务监听、路由和域名解析的信息,帮助我们定位和解决网络故障。根据每个命令的输出和分析,我们可以得出结论并采取相应的措施来修复网络问题。为了更好地诊断和解决网络故障,下面介绍了最常用的5个命令,并提供了相应的代码、输出和分析。通过检查跃点的路径和延迟,可以确定数据包在网络中的传输情况,并找到潜在的网络问题点。输出列出了当前正在监听的TCP连接和他们的状态。通过检查是否有服务在正确的端口上监听,可以确定服务是否正常运行。输出显示了域名的解析结果,包括域名对应的IP地址。
2023-12-17 18:17:40
618
原创 HiveSQL案例——分析需求(查询和学生期末考试的一些信息)
13.分析出2019级全年级ETL技术的期末考试成绩分布在80-92分之间的学生信息。2.统计2019级3班ETL技术期末综合成绩80分以上的学生人数(含80分)。12.查询2019级全年级ETL技术的综合成绩85分及以上的学生信息。11.查询2019级全年级ETL技术期末考试成绩排名前8的学生信息。10.查询2019级3班ETL技术期末考试成绩排名前7的学生信息。1.查询2019级2班ETL技术期末考试成绩排名前6的学生信息。7.统计2019级1班ETL技术的期末综合成绩不及格的学生人数。
2023-12-16 17:02:30
771
9
原创 分布式系统概论
在分布式系统中,软件的各个组成部分分布在不同的计算机上,通过网络进行通信和协作,共同完成特定的任务。在分布式系统中,每个服务都是独立运行的,一个服务的故障不会影响到其他服务的正常运行,从而提高了整个系统的可靠性。分布式系统的目的是将复杂的任务分解为简单的子任务,并将这些子任务分配给不同的计算机进行处理,从而提高系统的性能、可靠性、可扩展性和容错性。分布式系统的一个重要特点是资源共享。
2023-12-16 16:09:44
252
1
原创 CentOS6配置yum源(简单有效)
注意,如果这一步报错,可以直接在浏览器上输入网址下载Centos-6-Vault-Aliyun.repo ,再将Centos-6-Vault-Aliyun.repo上传到 /etc/yum.repos.d/中。3、 从https://www.xmpan.com/Centos-6-Vault-Aliyun.repo下载软件源配置文件,并保存为/etc/yum.repos.d/CentOS-Base.repo。2、 备份配置文件/etc/yum.repos.d/CentOS-Base.repo。
2023-12-16 14:31:28
4578
1
原创 “前端开发的挑战与机遇:突破困境,把握未来”
一、为什么会出现“前端已死”的言论二、你如何看待“前端已死”三、前端技术的未来发展趋势四、前端人,该如何打好这场职位突围战?
2023-12-15 22:06:51
543
1
原创 关闭Kafka时报错NO kafka server to stop
如果Kafka进程存在就可能是停止脚本问题:修改kafka-server-stop.sh脚本中的PIDS查找命令,确保它能正确找到Kafka进程的PID
2023-12-15 21:49:27
999
1
原创 Hive的安装配置教程
删除/home/hd/software/hive/lib下面版本较低的guava-19.0.jar的jar包,并将/home/hd/software/hadoop-3.3.0/share/hadoop/common/lib下面的guava-27.0-jre.jar复杂到。解压:tar -zxvf apache-hive-3.1.2-bin.tar.gz。启动hive需要启动MySQL和hadoop集群,才能正常使用hive。/home/hd/software/hive/lib下面。启动hive,安装成功!
2023-12-15 17:58:35
188
1
原创 jps命令一键查看多台进程的脚本
jps命令一键查看多台进程的脚本。在启动了zookeeper集群和kafka集群以后,我们如果想查看各个节点的进程需要一台一台的去看,是比较麻烦的,但是如果配置了一键启动的 jps 脚本,我们在主节点即可看到全部节点的进程。
2023-12-11 21:58:12
348
原创 搭建zookeeper集群及其一键启动脚本的编写
安装包 apache-zookeeper-3.5.7-bin.tar.gz下载:清华大学镜像仓库。一. zookeeper集群规划二. zookeeper配置三. zookeeper启动四.一键启动脚本的编写
2023-12-09 00:58:39
1070
1
原创 在Hadoop集群的基础上搭建Spark全分布集群
由于我们是在Hadoop集群的基础上搭建Spark 集群,所有可以省略以下步骤:1.配置网络2.修改主机名3.将主机名与IP绑定4.配置免密Hadoop全分布式集群搭建。
2023-12-03 19:02:12
624
1
原创 Linux上安装MySQL初始化报错处理mysqld: Can‘t change dir to 和MySQL server PID file could not be found!
Linux安装MySQL报错处理:mysqld: Can't change dir to '/home/zxa/software/mysql/data/' (Errcode: 13 - Permission denied)MySQL server PID file could not be found!
2023-11-22 19:57:37
2103
1
原创 搭建Hadoop全分布集群
搭建hadoop全分布集群主要步骤:1.配置IP和网关2.修改主机名并于 Ip 绑定3.重启网卡,关闭防火墙4.配置免密5.安装jdk和hadoop6.在hadoop中的.xml文件中添加内容7.格式化namenode8.启动集群
2023-11-12 16:40:14
436
1
原创 MySQL添加外键约束
如图有两张表,classId 是T_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会。的,因为t_student表中有数据和classId为1的字段关联了,是不能删除的,这样子就保证了数据的。外键的主要作用就是保持数据的一致性,完整性。举个例子:现在有两张表,t_emp、t_dept如下。部门ID(外键类型必须和对应主键类型一直)第二张表的外键一定是第一张表主键。在以后我们统一将外部关键字叫做。表添加外键约束,外键为。
2023-06-02 15:50:11
1013
原创 使用MySQL创建数据库并实现基本的SQL语句
可以看到刚刚创建的表class_1中有属性sno,类型为int(11);有属性name ,类型为varchar(32);有属性phone,类型为int(11);有属性addr,类型为varchar(32),都允许为空,但未设置主键,外键和默认值。指定位置:alter table 表名 add 属性名 类型 after 原有属性;语法:alter table 表名 change 原属性 修改后属性 类型;一起进步,共同学习交流!加到最后:alter table 表名 add 属性名 类型;
2023-05-07 15:43:42
15961
1
原创 登录基于Linux的MySQL
该命令随MySQL安装的目录不同而需要发生相应的变化,如果是在家目录就是/home/mysql/support-files/mysql.server start。mysql -u root -p密码,密码可见 或者 mysql -u root -p 换行以后输入密码,此时密码不可见。命令:/mysql/support-files/mysql.server start。首先我们需要先启动一下MySQL服务器,我这里是安装在根/ 目录下。然后显示MySQL相关的进程,检查MySQL服务是否正常。
2023-05-07 12:38:26
687
原创 下载和安装Windows版本的MySQL
22、点击新建,将复制的mysql.exe的路径粘贴上去并确定,此时环境变量的配置就完成了。找到此电脑---->鼠标右键---->属性---->高级系统设置---->环境变量。5、现在有两个版本选择,一个是8.0的版本,另一个是5.7的版本。
2023-05-05 17:09:06
11358
原创 MySQL下载安装教程(Linux中)
下载Linux版本的MySQL安装包:mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz具体的安装步骤:解压,创建用户,配置文件,初始化,启动服务器,修改密码等
2023-05-04 15:15:04
4147
原创 【无标题】自定义函数//删除数组中指定的元素。
#include <stdio.h>void fun(int a[], int n, int x);int main() { int i,n,x,c; printf("请输入数组的个数:"); scanf("%d",&n); int a[n]; printf("输入数组:"); for(i = 0; i < n; i++) { scanf("%d", &a[i]); } printf("请...
2022-04-27 13:07:20
885
原创 基本运算符【】
//1.11 基本运算符#include<stdio.h> int main(){ printf("\n\n%d,%d\n",20/7,-20/7); printf("%f,%f\n",20.0/7,-20.0/7); return 0;}1.12 求余运算符
2022-04-21 09:37:38
76
原创 变量赋初值
//1.10 变量赋初值#include<stdio.h>int main(){ int a=3,b,c=5; b=a+c; printf("a=%d,b=%d,c=%d\n",a,b,c); return 0;}
2022-04-21 09:36:26
284
原创 【char字符变量运算】
//1.9 char字符变量运算#include<stdio.h> int main(){ char a,b; a='a'; b='b'; a=a-32; b=b-32; printf("%c,%c\n%d,%d\n",a,b,a,b); return 0;}
2022-04-21 09:35:35
408
原创 【char字符变量赋值整数】
//1.8 char字符变量赋值整数#include<stdio.h>int main(){ char a,b; a=120; b=121; printf("%c,%c\n",a,b); printf("%d,%d\n",a,b); return 0;}
2022-04-21 09:34:32
810
原创 转义字符的使用
//1.7 转义字符的使用#include<stdio.h>int main(){ int a,b,c; a=5; b=6; c=7; printf(" ab c\tde\rf\n"); printf("hijk\tL\bM\n"); return 0;}
2022-04-21 09:33:06
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人