BeautifulSoup库
[toc]
一、声明1from bs4 import BeautifulSoup
1soup = BeautifulSoup(爬取内容,解释器)
二、基本元素1.对BeautifulSoup库的理解Beautifulsoup是解析、遍历、维护”标签书“的功能库
2.BeautifulSoup类(1)原理123flowchart LR HTML <--> 标签树 标签树 <--> BeautifulSoup类
123from bs4 import BeautifulSoupsoup = BeautifulSoup("<html>data</html>","html.parser")soup2 = BeautifulSoup(open("D://demo.html"),"html.parser")
(2)解析器
解析器
使用方法
条件
bs4的HTML解析器
BeautifulSoup(mk,”html.parser”)
安装bs4库
lxml的 ...
无题
爬取cnblogs步骤一 分析需求:
爬取想要博主的所有文章并自动分类。
步骤二 观察网站,分析架构:
requests库
requests库[toc]
一、请求方法
方法
说明
requests.request()
构造一个请求,支持以下各方法的基础方法
requests.get()
获取HTML网页的主要方法,应对HTTP的GET
requests.head()
获取HTML网页头信息的主要方法,应对HTTP的HEAD
requests.post()
获取HTML网页的POST方法,应对HTTP的POST
requests.put()
HTML网页的POST方法,应对HTTP的POST
requests.patch()
获取HTML网页的PUT方法,应对HTTP的PUT
requests.delete()
向HTML网页提交删除方法,应对HTTP的DELETE
request方法介绍1request.request(method,url,**kwargs)
method:请求方式,对应get/put/post等7种
url:拟获取页面的url链接
**kwargs:**控制访问的参数,共13个,均为可选项
params:字典或字节序列,作为 ...
linux服务进程
在 Linux 下,最强大的进程管理命令莫过于 ps 和 top
一、ps 命令 ps 命令是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和它所运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等。总之大部分信息都是可以通过执行该命令得到的。ps 命令最常用来监控后台进程的工作情况,因为后台进程是不和屏幕、键盘这些标准输入/输出设备进行通信的,所以如果需要检测后台情况,就需要使用 ps 命令了。它的格式如下所示:格式:ps 〔选项〕其主要选项如下。
-a:显示系统中所有进程的信息。
-e:显示所有进程的信息。
-f:显示进程的所有信息。
-l:以长格式显示进程信息。
-r:只显示正在运行的进程。
-u:显示面向用户的格式(包括用户名、CPU 及内存的使用情况等信息)。
-x:显示所有非控制终端上的进程信息。
-p:显示由进程 ID 指定的进程信息。
-t:显示指定终端上的进程信息。
要对进程进行监测和控制,首先要了解当前进程的情况,当然也就需要查看当前进程的状态了。通过 ps 命令查看进程,根据所显示的信息 ...
linux系统文件的查看与安装
linux命令—系统文件操作[TOC]
ls命令—显示命令Linux ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。
语法:1ls [-alrtAFR] [name...]
参数 :
参数
功能
-a
显示所有文件及目录 (. 开头的隐藏文件也会列出)
-d
只列出目录(不递归列出目录内的文件)
-l
以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等
-r
倒序显示文件和目录
-t
将按照修改时间排序,最新的文件在最前面
-A
同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
-F
在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
-R
递归显示目录中的所有文件和子目录
将 /bin 目录以下所有目录及文件详细资料列出:
1ls -lR /bin
当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:
123ls "my ...
linux系统变量
Linux的变量种类按变量的生存周期来划分,Linux变量可分为两类:1 永久的:需要修改配置文件,变量永久生效。2 临时的:使用export命令声明即可,变量在关闭shell时失效。
设置变量的三种方法1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。例如:编辑/etc/profile文件,添加CLASSPATH变量12# vi /etc/profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。例如:
编辑guok用户目录(/home/guok)下的.bash_profile
vi /home/gu ...
linux权限
linux权限[TOC]
一、Shell命令以及运行原理概念:Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel) “ ,但我们一般不能直接使用kernel,而是通过kernel的“外壳”程序(shell),来与kernel沟通
Shell(命令行解释器)的作用:
操作系统的语言是机器语言,用户直接与操作系统沟通成本大,所以Shell将用户的命令翻译给核心(kernel)处理,并将核心的处理结果翻译给用户(提供良好的使用环境)
面对用户的不合意请求,操作系统会拒绝请求,以此来保护操作系统
Shell与bash:
Shell是命令行解释器的统称,而bash的具体的一种命令行解释器
二、Linux权限的概念Linux下有两种用户:
超级用户(root):可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
注:超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
三、Linux权限管理1、文件访问者的分类文件和文件目录的所有者: u—User 文件
文件目录的所有者所在的组的用户: g—Group
其它用户: ...
常用日志
系统常规日志/var/log/syslog (或者在一些系统上是 /var/log/messages) 是一个包含各种系统事件的通用日志文件。它通常是系统管理员和安全分析师在排查问题或调查安全事件时的首选资源。
/var/log/syslog 记录的信息非常广泛,包括但不限于:
系统启动和关机信息: 记录系统启动和关机过程中的关键事件。
硬件事件: 例如设备连接、驱动加载失败等。
邮件服务器信息: 例如邮件发送和接收的记录。
系统守护进程信息: 例如 cron、syslogd 等守护进程的运行状态和错误信息。
认证相关信息: 虽然 /var/log/auth.log 更专注于认证事件,但 /var/log/syslog 也可能包含一些认证相关的消息,尤其是在 auth.log 未配置或不可用时。
应用程序日志: 一些应用程序会将日志信息写入 syslog,而不是单独的日志文件。
内核消息: 虽然 /var/log/kern.log 更专注于内核消息,但 /var/log/syslog 也可能包含一些内核相关的消息,尤其是在 kern.log 未配置或不可用时。
其他系统事件: 例如网 ...
bash转义符
bash转义符\b 转义后相当于按退格键(backspace) ,但前提是”\b”后面存在字符,具体效果参考下方示例。
使用echo命令输出”\b”转义字符,在”\b”后面存在字符的前提下,”\b”表示删除前一个字符,”\b\b”表示删除前两个字符。
可以看到,上例中,在”\b”后面不存在任何字符时,”\b”并没有转义为”退格键”,当”\b”后面存在字符时,一个”\b”就相当于按一次backspace键。
\c 不换行输出,在”\c”后面不存在字符的情况下,作用相当于echo -n,具体效果参考下方示例。我们也可以使用\c转义符,表示不换行输出,但是当”\c”后面仍然存在字符时,”\c”后面的字符将不会被输出,如果”\c”后面不存在任何字符时,效果与使用”echo -n”相同,示例如下。
\n 换行\f 换行,但是换行后的新行的开头位置连接着上一行的行尾,具体效果查看示例;\v 与\f相同;\t 转以后表示插入tab,即制表符;\r 光标移至行首,但不换行,相当于使用”\r”以后的字符覆盖”\r”之前同等长度的字符,只看这段文字描述的话可能不容易理解,具体效果查看示例;
\ 表示插 ...
单用户模式修改密码
进入单用户模式1)在Linux系统启动,内核启动顺序选择界面,按键盘任意键让Linux引导启动停留在内核选择阶段通过上下键让Linux引导启动停留在内核选择阶段
2)选择Linux内核启动项,根据提示键入小写字母e 进入下一步
3)选择kernel开头这项(第二个)按下按键e,进入下一步
内核启动时选
选项
含义
init=/sbin/init
告诉内核用/sbin/init作为它的init程序
init=/bin/bash
只启动bash,在紧急恢复时有用
root=/dev/foo
告诉内核用/dev/foo作为根设备
single
引导进入单用户模式
定位到linux16这一行,在最后加上一句rw single init=/bin/bash,然后按ctrl+x
需要注意的是会出现以下情况。
提示 passwd root command not found
这个时候只要运行chroot /sysroot/ 就可以了。
因为目前所在的环境就是一个安全模式,在内存系统里,还没有进入到我们原本的系统。这时候要修改root密码的话,需要切换 ...








