Python - 基础
Python官方文档(3.10.8)https://docs.python.org/zh-cn/3/
一、Python基础语法
版本:Python 3.7
1. 注释方法
单行注释:# 注释内容(快捷键:Ctrl+ /)
多行注释:''' 注释内容 ''' 或 """注释内容"""
2. 关键字
关键字一共33个,False、None和True的首字母大写,其他全部是小写
3. 标识符1、标识符的命名规则(必须遵守)
由数字、字⺟、下划线_组成
不能数字开头
不能使⽤内置关键字
严格区分⼤⼩写
2、标识符的命名规范(建议遵守)
⻅名知意
⼤驼峰:即每个单词⾸字⺟都⼤写,例如: XxxYyyy
⼩驼峰:第⼆个(含)以后的单词⾸字⺟⼤写,例如: xxxYyy
下划线:例如: xxx_yyy
4. 变量1、 单个变量赋值变量名 = 值
2、 多个变量赋值变量名1,变量名2,变量名3 = 值1,值2,值3
3.、多变量赋相同值变量名1 = 变量名2 = 变量名3 ...
爬虫 - request模块
一、常见响应内容分类1、结构化响应内容(1)json字符串
常用解析方式:json、jsonpath
(2)xml字符串
xml:可扩展标记语言,更注重传输和存储数据
常用解析方式:re(正则)、lxml(xpath)
2、非结构化响应内容(1)html字符串
html:超文本标记语言,更注重数据的显示
常用解析方式:re(正则)、lxml(xpath)、beautifulsoup(xpath/正则/css选择器)、pyquery(css选择器)
二、jsonpath模块1、jsonpath方法
适用数据:json字符串(需要先将json字符串转换为json对象,转换方式:ret = json.loads(data))
作用:可以按照key对python字典进行批量数据提取
使用方式:ret = jsonpath.jsonpath(data, 'jsonpath语法')
返回数据类型:列表
2、jsonpath常用语法规则
$ 取根节点
@ 取现行节点
.or[] 取子节点
.. 匹配任意位置节点
* 匹配所有元素节点
[] 迭代器标示
[ ...
爬虫 - jsonpath&lxml模块
一、常见响应内容分类1、结构化响应内容(1)json字符串
常用解析方式:json、jsonpath
(2)xml字符串
xml:可扩展标记语言,更注重传输和存储数据
常用解析方式:re(正则)、lxml(xpath)
2、非结构化响应内容(1)html字符串
html:超文本标记语言,更注重数据的显示
常用解析方式:re(正则)、lxml(xpath)、beautifulsoup(xpath/正则/css选择器)、pyquery(css选择器)
二、jsonpath模块1、jsonpath方法
适用数据:json字符串(需要先将json字符串转换为json对象,转换方式:ret = json.loads(data))
作用:可以按照key对python字典进行批量数据提取
使用方式:ret = jsonpath.jsonpath(data, 'jsonpath语法')
返回数据类型:列表
2、jsonpath常用语法规则
$ 取根节点
@ 取现行节点
.or[] 取子节点
.. 匹配任意位置节点
* 匹配所有元素节点
[] 迭代器标示
[ ...
爬虫 - selenium
一、requests模块简介
作用:发送http请求,获取响应数据
优点:相对于urllib模块,requests模块更简洁易懂
二、requests模块常用方法和属性1、常用方法(发起请求)(1)get方法
使用方式:response = requests.get(url)
常用参数:headers、params、cookies、timeout、proxy、verify
headers请求头
作用:模拟浏览器
构造方式:构造headers字典(’请求头字段名’:’字段对应的值’)
使用方法:response = requests.get(url, headers = headers)
常用请求头:[User-Agent]、[Referer]、[Cookie]
非常用请求头:[Content-Type]、[Host]、[Connection]、[Upgrade-Insecure-Requests]、[Authorization]
*[User-Agent]:浏览器名称*[Referer]:页面跳转处*[Cookie]:用户数据*[Content-Type]:内容类型*[Hos ...
爬虫 - 反爬技巧
常见三大反爬方向1、身份识别(1)headers字段
User-Agent字段反爬原理:爬虫默认情况下没有User-Agent,而是使用模块默认设置解决方法:请求之前添加User-Agent即可,最好使用User-Agent池来解决
可使用fake-useragent模块自动生成,官方文档:http://useragentstring.com/
用户代理字符串列表:http://useragentstring.com/pages/useragentstring.php![img](https://cdn.nlark.com/yuque/0/2023/png/22414596/1673451087366-cb78318c-b536-4a7b-86e0-78e107a5e888.png)
referer字段反爬原理:爬虫默认情况下不会带上referer字段,服务器端通过判断请求发起的源头,以此判断请求是否合法解决方法:添加referer字段
如果请求头有带referer字段,添加上即可
cookie反爬原因:通过检查cookies来查看发起请求的用户是否具备相应权限,以此来进行反 ...
爬虫 - 验证码处理方案
1、手动输入(input)仅限于输入一次就可持续使用的情况
2、图像识别引擎解析(不推荐)使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理
(1)什么是图片识别引擎?图片识别引擎:OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件。
(2)Tesseract OCRTesseract:一款由HP实验室开发,由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。github项目地址:https://github.com/tesseract-ocr/tesseract最新官方文档地址:https://tesseract-ocr.github.io/
引擎的安装
mac环境下的安装
linux环境下的安装
windows环境下的安装可通过exe安装包安装,下载地址:https://tesseract-ocr.github.io/tessdoc/Installation.html,安装完成后需要将Tess ...
Linux - VMware安装Ubuntu系统
一、下载Ubuntu镜像
下载地址(版本:Ubuntu 22.04 LTS):https://cn.ubuntu.com/download/desktop
二、下载VMware虚拟机系统
Windows / Linux下载地址:https://www.vmware.com/cn/products/workstation-pro.html
Mac下载地址:https://www.vmware.com/cn/products/fusion.html
三、新建虚拟机
在安装好的VMware中,点击创建新的虚拟机
\2. 选择自定义
直接下一步
选择Ubuntu镜像所在路径
设置虚拟机的用户名和密码
设置Ubuntu的安装位置(建议选择剩余容量较大的磁盘),选择的文件夹下不要有其他文件
配置处理器所需数量
设置虚拟机内存,一般为1G(1024MB)、2G(2048MB)、4G(4096MB)
选择【使用网络地址转换】
默认使用推荐的,直接下一步
默认使用推荐的,直接下一步
选择【创建新虚拟磁盘】
设置磁盘 ...
Python - 搭建虚拟环境
虚拟环境作用:可以搭建独立的代码运行环境,使得单个项目的运行环境与其它项目互不影响
所有的虚拟环境都位于/home/下的隐藏目录.virtualenvs下
一、安装和配置虚拟环境1. Linux系统
安装虚拟环境
sudo pip install virtualenv
sudo pip install virtualenvwrapper
配置环境变量
切换到用户主目录:cd -
创建目录用来存放虚拟环境:mkdir .virtualenvs
编辑.bashrc文件:vi .bashrc,添加以下三行代码
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
运行:source ~/.bashrc
运 ...
Python - 解释器
一、Python解释器种类
CPython:C语⾔开发的解释器[官⽅],应⽤⼴泛的解释器
IPython:基于CPython的⼀种交互式解释器
PyPy:基于Python语⾔开发的解释器
Jython:运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏
IronPython:运⾏在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
二、CPython解释器的下载
CPython下载地址:https://www.python.org/downloads/release/python-372/
拉到页面最下方,找到Windows x86-64 executable installer,点击下载即可
三、CPython解释器的安装
记得勾上Add Python 3.8 to PATH,用来自动配置环境变量,按照步骤安装即可
如果忘记勾选,需要自己配置环境变量
注意这里会提示安装路径
四、验证解释器是否安装成功
可以在之前提示的安装路径下看到python.exe这个程序
打开电脑命令提示符,输入python之后回车,如果显示如 ...
Linux - 概述及常用命令
第1章 Linux入门1.1 概述1.2 Linux和Windows区别1.3 CentOS下载地址网易镜像:http://mirrors.163.com/centos/7/isos/
搜狐镜像:https://mirrors.sohu.com/centos/7/isos/
第2章 VMware与CentOS的安装第3章 Linux文件与目录结构3.1 Linux文件Linux系统中一切皆文件。
3.2 Linux目录结构
/bin
是Binary的缩写, 这个目录存放着最经常使用的命令
/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/root
该目录为系统管理员,也称作超级权限者的用户主目录。
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/ ...