Tips汇总

爬虫领域

1. 加密参数值 Failed to load

在采集时遇到一个加密参数 Token,搜索 Token 的值,如果是从前面包中返回的,那相对比较好解决,因此进行搜索,却没有搜索到,那我就认为它是加密的算法。

这里其实有一个坑:Token 确实是从前面的请求返回的,但因为浏览器没有加载出来,所以搜索不到,在其中一个 url 中有 getToken 关键字,多么明显的提示。

在这里插入图片描述

发送请求,可以得到 token(我怀疑是网站为了反爬虫,故意进行了设置,导致响应内容 Failed to load):

在这里插入图片描述

2. 多渠道寻找绕过的方法

在企查查web端查询企业,必须要进行登录;在手机百度APP上使用企查查小程序则没有登录限制,因此需要先去广泛的多渠道尝试,说不定就会找到一些可以绕过的方法
一些主流网站的加密参数的破解方法,可以在网上去搜索,也许就有现成的。比如之前在寻找加密参数时的header[ 

遇到一个特别难的函数,根本看不懂里面的逻辑,以为只能准备补环境来解决了,没想到当在函数末尾打上断点后,发现了AES关键字,再挨个去看变量的值,发现就是一个AES的加密函数。

在这里插入图片描述

3. url编码

quote_plus是urllib模块提供的编码方法,默认采用utf-8进行编码,urllib模块下相似的还有quote

二者的区别在于对特殊字符编码的方式不一样 如

​ quote() 不编码斜线;空格‘ ’编码为‘%20’

​ quote_plus() 编码斜线为‘%2F’;空格‘ ’编码为‘+’ 等等

import json
from urllib.parse import quote_plus

print(json.dumps({"appId": 1, "platform": 3, "version": "6.24.0", "abtest": ""}))
print(json.dumps({"appId": 1, "platform": 3, "version": "6.24.0", "abtest": ""}, separators=(',', ':'))) # 使用更加紧凑的','和':'
print(quote_plus(json.dumps({"appId": 1, "platform": 3, "version": "6.24.0", "abtest": ""}, separators=(',', ':'))))

# {"appId": 1, "platform": 3, "version": "6.24.0", "abtest": ""}
# {"appId":1,"platform":3,"version":"6.24.0","abtest":""}
# %7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%226.24.0%22%2C%22abtest%22%3A%22%22%7D
from urllib.parse import unquote

text = '%7B%22appId%22%3A1%2C%22platform%22%3A3%2C%22version%22%3A%226.24.0%22%2C%22abtest%22%3A%22%22%7D'
text = unquote(text, 'utf-8')
print(text) # {"appId":1,"platform":3,"version":"6.24.0","abtest":""}

日常领域

1. 打开 window 服务

window + R,打开运行框:

在这里插入图片描述

输入 services.msc 即可打开服务框:

在这里插入图片描述

2. 打开任务管理器

ctrl + shift + esc:

在这里插入图片描述

3. 测试设备间连接是否联通

PING IP

4. 查看 python 路径

查看当前使用的Python版本:

python -V

查看已有的Python版本和路径:( * 为默认使用的版本)

在这里插入图片描述

查看 python.exe 的位置:

在这里插入图片描述

5. pip 下载时使用清华源

pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

6. 将py文件打包成exe文件

在 py 文件的目录,在控制台输入:

pyinstaller -F app.py

7. requirements.txt

# 生成requirements.txt文件
# 方式1:所有类库包
pip freeze > requirements.txt  # 保存了保存当前Python环境下所有类库包

# 方式2:当前项目
# 运行以下命令安装pipreqs : pip install pipreqs
# 在项目根目录下打开终端, 运行以下命令生成requirements.txt文件
# pipreqs . --encoding=utf8 --force
# 其中,.表示当前目录,–encoding=utf8指定编码为UTF-8,–force选项强制覆盖已存在的requirements.txt文件

# 安装requirements.txt中的类库内容
pip install -r requirements.txt

8. cmd的使用

查找文件:

where filename

切换目录:

  • cd\ 回车,表示进入C盘根目录下
  • d: 回车,进入D盘当前目录,并不一定是根目录

环境变量

参考链接:https://www.bilibili.com/video/BV1w741147G9?spm_id_from=333.337.search-card.all.click&vd_source=d6ad5cfafb01e6a00d60b465dcb33865

作用:指明操作系统的重要目录在哪里

假如有个程序在运行时需要从系统目录(C:\WINDOWS)里读取文件,它是在所有磁盘上挨个寻找这个目录,还是让操作系统直接告诉它目录在哪里,明显后一种方式更加快捷高效,因此windows系统就约定,用systemroot来指明系统目录所在的位置,并把它放在环境变量下面
在这里插入图片描述

在运行对话框中输入cmd后,系统会尝试在path指明的目录中查找cmd这个程序,找到就运行它,否则就会提示找不到文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

除了系统变量,还有环境变量还包含用户变量,用户的环境变量是只针对当前登录的用户的,用户变量中也有个path,其作用和系统的path是类似的,

在这里插入图片描述

Linux基础命令

sudo -i

命令格式: 

 ls    : 列出当前所在目录
 ls   指定路径 : 列出指定目录下的文件
 ls /  : 列出根目录下的文件
 ls -a : 表示显示所有文件,包括隐藏文件
 ls -l : 以长格式的形式显示文件,等价于 ll
 ls -al : 选项可以连用,显示两个命令的全部信息

man 命令:命令说明
eg:man  ls : 查看ls文档

清屏:clear    或  Ctrl+ L(快捷键) 

cd : 切换目录  
 cd / :切换到根目录
 cd  ..   返回上一级目录
 cd  .    当前目录 
 cd 或 cd ~:回到用户家目录

pwd: 以绝对路径的形式显示当前路径

tab: 自动补全

创建目录:
mkdir   位置+目录名
 eg:mkdir forbid   在当前位置下创建forbid目录
 eg:mkdir /tmp/consult   创建指定目录
 eg:一条命令创建多个目录: mkdir   forbid  /tmp/consult
 eg:创建层级目录:mkdir -p aa/bb 

touch : 创建文件(文件名后最好加后缀,不加也可以创建)
 eg:touch  alarm.txt       在当前目录下创建文件
 eg:touch /tmp/sweater.py  在指定目录下创建文件

rmdir: 删除空目录,非空不能删除
  rmdir /tmp/tidy/

rm: 删除目录或文件
 删除文件:rm /tmp/sweater
 删除目录加-r选项:
 eg:rm -r /home/wang/aa
 -f :强制删除,不再提示,默认选择是
 rm -rf  : 直接删除
为了方便记忆,无论删除任何目录或文件,都直接使用 :rm -rf 目录/文件/压缩包

复制文件或目录(可以重命名)
 cp  复制谁 复制到哪里
复制文件 eg:cp /etc/passwd  passwd  
复制文件并重命名 eg: cp /etc/passwd  user   
复制目录:
 eg: cp -r land/  seed/        复制目录
 eg: cp -r land/  seed/guard   复制目录并重命名
 
文件及文件夹的重命名:
mv : 剪切(可以重命名)
mv zf.py data_special_zf.py
mv new_passwd  seed/ensure  剪切文件并重命名
mv land/  seed/   剪切目录
mv seed/  land/mode 剪切目录并重命名

删除和复制目录需要加 -r ,创建层级目录需要加 -p 

查看文件内容:
1、cat:适合查看内容较小的文件
cat /etc/passwd

2、more:分页查看,会显示百分比   enter 逐行查看;  空格  翻页查看  ;  q:退出
more -3 /etc/passwd   定义屏幕大小为3行 (可以自定义)
ctrl + b  往回翻       Ctrl + f   往后翻
more 不能显示二进制文件

3、less: --显示文件名   enter 逐行查看  ;空格  翻页查看 ; q:退出(必须按q退出)
less -m /etc/passwd   -m 显示百分比
less -m /etc/passwd   -e 文件显示结束后,自动退出
less -m /etc/passwd   -N 显示行号
less -meN /etc/passwd  显示文件名、百分比、行号,结束时自动退出(三者相结合显示)

4、查找关键字  
/关键字,回车    
 n 向下查找     shift + n  向上查找
 ctrl + b  往回翻,向上查找
 Ctrl + f  往后翻,向下查找

5、head 从头开始查,从前往后
 head /etc/passwd    默认显示文件的前十行
 head -3 /etc/passwd  显示文件的前3行(可以自定义)

6、tail 从尾开始查,从后往前
 tail /etc/passwd   默认显示文件的后十行
 tail -2 /etc/passwd   显示文件的后2行(可以自定义)
 -f : 查看实时写入的流式文件   ctrl + c  结束 
 echo '123456' >> speech.txt 

 >>  追加写入,实时写入
 >   覆盖写入

vi/vim编辑器:
类似于Windows里的记事本功能,用于编辑文本文件
vim是vi的升级版本,vim兼容vi的所有命令
vim编辑器三种模式:
命令模式:打开vim的时候,默认就是命令模式
使用vim编辑器打开文件后点击按键:i或a或o即可进入编辑模式。
i:在光标所在字符前开始插入 
a:在光标所在字符后开始插入 
o:在光标所在行的下面另起一新行插入
编辑模式:在命令模式下,按i/o/a键进入,可以任意编辑,左下角 -insert- ,按esc键退出到命令模式
最后行模式:在命令模式下,按shift + : 进入 左下角  -insert-显示 :  ,按esc退出到命令模式
w:保存   
q:退出   
wq:保存并退出   
q!:强制退出   (退出表示退出vim编辑器)

命令模式: 
dd:删除光标所在行的文本  
ndd:删除从光标所在行起的n行文本(n自定义),还具有剪切的作用
yy:复制光标所在行的文本  nyy:复制从光标所在行起的n行文本(n自定义)      
u:撤销    
p:粘贴
gg  光标快速移动到首行
shift + gg 光标快速移动到尾行
ngg  光标快速移动到第n行(n自定义)
 n→   向右移动n个字符(n自定义)    n←  向左移动n个字符(n自定义)
 /输入关键字,回车开始查找   
 shift+zz 快速保存并退出
	
4.1 打包和压缩
Windows的压缩文件的扩展名  .zip/.rar
linux中的打包文件:aa.tar      
linux中的压缩文件:bb.gz    
linux中打包并压缩的文件:.tar.gz

Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。

命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
  c:打包文件
  v:显示运行过程
  f:指定文件名
  
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt 
或:tar -zcvf ab.tar  *

4.2 解压
命令:tar [-zxvf] 压缩文件    
其中:x:代表解压
示例:将/usr/tmp 下的ab.tar解压到当前目录下
示例:将/usr/tmp 下的ab.tar解压到根目录/usr下
tar -xvf ab.tar -C /usr    -C代表指定解压的位置

查找名为dict.txt的文件
find / -name dict.py

从主目录复制目录
cp -r /tmp/jieba_para_script_test /ddmp/whj/jieba/jieba_para_script_test

直接删除目录
rm -rf jieba_script_test
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值