梨视频爬取思路
-将每一个视频详情页的url进行解析
-对视频详情页的ur1进行请求发送
-在视频详情页的页面源码中进行全局搜索,发现没有找到video标签
- 视频标签是动态加载出来
- 动态加载的数据方式
ajax
js
- 在页面源码中搜索.mp4,定位到了视频的地址(存在于一组js代码)通过正则将视频地址解析出来对其发起请求即可
异步爬虫(应付面试)
- 基于线程池
- 基于单线程+多任务的异步爬虫
- Flask的基本使用
环境安装: pip install flask
创建一个py源文件
详细代码看FlaskServer. py
- 线程池
- from multiprocessing. dummy import Pool
- map( callback, alist)
- 可以使用callback对alist中的每一个元素进行指定形式的异步操作
- 大文件下载
- 下属管道类是scrapy封装好的我们直接用即可:
from scrapy. pipelines.images import ImagesPipeline #提供了数据下载
- 重写该管道类的三个方法
get_media_requests
对图片地址发起请求
file_path
返回图片名称即可
item_completed
返回item,将其返回给下一个即将被执行的管道类
- 在配置文件中添加
- IMAGES_STORE = 'dirName'