一. 课程安排
- 课程内容
- Scrapy 模拟登录
- Scrapy 下载图片
二. 课堂笔记
1. Scrapy 模拟登录
那么对于scrapy来说,也是有两个方法模拟登录:
- 1 直接携带cookie
- 2 找到发送post请求的URL地址,带上信息,发送请求
1.1 Scrapy模拟登录人人网
- 携带cookie
1.2 Scrapy模拟登录github
- 发送post请求
1.3 Scrapy自动登录
2. Scrapy下载图片
2.1 下载图片案例 爬取汽车之家图片
scrapy为下载item中包含的文件提供了一个可重用的item pipelines,这些pipeline有些共同的方法和结构,一般来说你会使用Files Pipline或者Images Pipeline
爬取汽车家
https://www.autohome.com.cn/65/#levelsource=000000000_0&pvareaid=101594
2.2 选择使用scrapy内置的下载文件的方法
- 1:避免重新下载最近已经下载过的数据
- 2:可以方便的指定文件存储的路径
- 3:可以将下载的图片转换成通用的格式。如:png,jpg
- 4:可以方便的生成缩略图
- 5:可以方便的检测图片的宽和高,确保他们满足最小限制
- 6:异步下载,效率非常高
2.3 下载文件的 Files Pipeline
使用Files Pipeline下载文件,按照以下步骤完成:
- 定义好一个Item,然后在这个item中定义两个属性,分别为file_urls以及files。files_urls是用来存储需要下载的文件的url链接,需要给一个列表
- 当文件下载完成后,会把文件下载的相关信息存储到item的files属性中。如下载路径、下载的url和文件校验码等
- 在配置文件settings.py中配置FILES_STORE,这个配置用来设置文件下载路径
- 启动pipeline:在ITEM_PIPELINES中设置scrapy.piplines.files.FilesPipeline:1
2.4 下载图片的 Images Pipeline
使用images pipeline下载文件步骤:
- 定义好一个Item,然后在这个item中定义两个属性,分别为image_urls以及images。image_urls是用来存储需要下载的文件的url链接,需要给一个列表
- 当文件下载完成后,会把文件下载的相关信息存储到item的images属性中。如下载路径、下载的url和图片校验码等
- 在配置文件settings.py中配置IMAGES_STORE,这个配置用来设置文件下载路径
- 启动pipeline:在ITEM_PIPELINES中设置scrapy.pipelines.images.ImagesPipeline:1
