设置通用代码模板
单行注释:#
多行注释: ‘’’ ‘’‘’
使用
使用type方法判断变量的数据类型
输出
输入
1.添加
2.修改
3.查找
4.删除
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作
切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]
查询
修改
添加
删除
遍历
函数的定义与调用
函数参数的使用
函数返回值
文件的打开与关闭
文件路径
绝对路径:绝对位置,完整地描述了目标的所在地,所有目录层级关系是一目了然的。
- 例如:,从电脑的盘符开始,表示的就是一个绝对路径。
相对路径:是从当前文件所在的文件夹开始的路径。
- ,是在当前文件查找 文件
- ,也是当前文件夹中查找 文件,表示的是当前文件夹
- ,从当前文件夹的上一级文件夹里查找 文件。表示的是上一级文件夹
- ,在当前文件夹里查找 这个文件夹,并在这个文件夹里查找 文件
文件的读写
通过文件操作,我们可以将字符串写入到一个本地文件。但是,如果是一个对象(例如列表、字典、元组等),就无法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里。
设计一套协议,按照某种规则,把内存中的数据转换为字节序列,保存到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。
Python中提供Json这个模块用来实现数据的序列化和反序列化。
- 对象----->字节序列 === 序列化
- 字节序列----->对象 ===反序列化
JSON模块
JSON是一种轻量级的数据交换标准。JSON的本质是字符串。
使用JSON实现序列化
JSON提供了dump和dumps方法,将一个对象进行序列化。
dumps方法的作用是把对象转换成字符串,它本身不具备将数据写入到文件的功能。
try: 可能出现异常的代码 except 异常的类型 友好的提示
1.Urllib库的使用
基本使用
2.一个类型和六个方法
3.下载
4.请求对象的定制
UA介绍:User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本。浏览器内核、浏览器渲染引擎、浏览器语言、浏览器插件等
5.编解码
1、get请求方式:urllib.parse.quote()
2、get请求方式:urllib.parse.urlencode()
主要解决多个中文参数时候
6.Post请求方式
百度详细翻译
7.Ajax的get请求
get请求豆瓣的第一页内容
-
get请求豆瓣电影前十页
8.Ajax的post请求
-
post请求肯德基温州门店信息
9.URLErrorHTTPError
10.微博的cookie登录
适用的场景:数据采集的时候,需要绕过登录,然后进入到某个页面
cookie是headers中的关键信息,如果有登录之后的cookie,那么我们可以携带着cookie进入到任何页面
11.Handler处理器
12.代理池
1.xpath基本使用
-
安装lxml库
-
导入lxml.etree
-
etree.parse() 解析本地文件
html页面
-
etree.HTML() 服务器响应文件
在浏览器上打开xpath: ctrl+shift+x
获取百度中百度一下
2.抓取站长素材图片案例
pip安装
jsonpath的使用
jsonpath与lxml语法对比
数据源
根据json案例写出jsonpath解析json数据
jsonpath与lxml写法对比
jsonpath解析淘票票
1.基本简介
2.安装以及创建
3.节点定位
4.节点信息
本地数据
bs4的基本使用
bs4爬取星巴克数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t0m1X1Vw-1658307246358)(D:DesktopCSDN博客Python学习.assetsimage-20220717110557728.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MndtXWN6-1658307246359)(D:DesktopCSDN博客Python学习.assetsimage-20220717110618063.png)]
1.一个方法以及六个属性
基本使用
2.requests与urllib的区别
3.get请求
4.post请求
5.cookie登录古诗文网
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nbvklSwY-1658307246360)(D:DesktopCSDN博客Python学习.assetsimage-20220717121244899.png)]
6.超级鹰打码平台的使用
scrapy是什么?
安装scrapy
1.基本使用
1.1创建scrapy项目
终端输入
1.2项目组成
1.3创建爬虫文件
跳转到spiders文件夹
创建爬虫文件.py
爬虫文件的基本组成
生成的爬虫文件
运行爬虫代码
运行后有君子协议,修改君子协议
1.4 爬取58同城数据
项目结构
response属性的方法
代码
1.5 scrapy架构组成
1.6 scrapy工作原理
scrapy爬取汽车之家
1.7 scrapy shell
1.8.yield
简要理解:
yield就是 return 返回一个值,并且记住这个返回的位置,下次迭代就从这个位置后(下一行)开始
案例1:当当网
(1)yield(2)管道封装(3)多条管道下载 (4)多页数据下载
实现代码
dangdang.py
pipelines.py
items.py
settings.py
案例2:电影天堂
mv.py
items.py
pipelines.py
1.9 CrawlSpider
链接提取器,继承自scrapy.Spider
- 独门秘笈 CrawlSpider可以定义规则,再解析html内容的时候,可以根据链接规则提取出指定的链接,然后再向这些链接发送请求 所以,如果有需要跟进链接的需求,意思就是爬取了网页之后,需要提取链接再次爬取,使用CrawlSpider是非常合适的
- 提取链接
模拟使用
- 提取连接
注意事项
【注1】callback只能写函数名字符串,不需要写圈函数带上(), callback=‘parse_item’ 【注2】在基本的spider中,如果重新发送请求,那里的callback写的是callback=self.parse_item 【注‐‐稍后看】follow=true 是否跟进 就是按照提取连接规则进行提取 运行原理
crawlSpider案例
需求:读书网数据入库
创建项目
创建爬虫类
实现代码
read.py
items.py
pipelines.py
代码实现
read.py
settings.py
pipelines.py
items.py