import scrapy
# 通过 get_project_settings 获取项目的 settings 文件
from scrapy.utils.project import get_project_settings
# 导入 ImagesPipeline 类
from scrapy.pipelines.images import ImagesPipeline
import os
# ImagesPipeline 继承 ImagesPipeline 父类 , 重写 ImagesPipeline 类
class ImagesPipeline(ImagesPipeline):
# 获取settings文件里设置的变量值
IMAGES_STORE = get_project_settings().get("IMAGES_STORE")
def get_media_requests(self, item, info):
# 爬虫爬取到的数据:图片的链接
image_url = item["imagelink"]
# 发下载图片的请求 , 参数是爬虫爬取到的图片地址 。发送请求之后 , 会通过下面的item_completed(self, result, item, info)方法进行数据的处理 。
yield scrapy.Request(image_url)
def item_completed(self, result, item, info):
# 这个是 item_completed()固定的写法,获取图片的名字
image_path = [x["path"] for ok, x in result if ok]
#对下载的文件重命名
os.rename(self.IMAGES_STORE + "/" + image_path[0], self.IMAGES_STORE + "/" + item["nickname"] + ".jpg")
item["imagePath"] = self.IMAGES_STORE + "/" + item["nickname"]
return item
第八步:启动爬虫 , 爬取数据 。
在 dos下切换到目录
D:scrapy_projectdouyudouyu 下
通过命令运行爬虫 :scrapy crawl douyuMM

文章插图

文章插图
下载完成 。
第九步:检查爬取的数据 。

文章插图

文章插图

文章插图
第十步:在项目根目录下新建 run.py 文件,便于PyCharm 下运行调试脚本 。
在 D:scrapy_projectdouyudouyu 下 。
新建 run.py 文件 。
编写 run.py 文件 。
from scrapy import cmdline
cmdline.execute('scrapy crawl douyu'.split())
设置 run.py 文件运行环境 。

文章插图
第十一步:在 PyCharm 下运行 , 查看运行结果 。

文章插图

文章插图

文章插图
1.3 Scrapy 爬虫案例基础篇小结汇总
1、2个案例爬虫文件里的 scrapy 类都是基于scrapy.Spider 基础类 , Spider类是 scrapy爬虫框架实现爬虫的其中一个类 , 后面还会讲到另外的一个类
scrapy.spiders.CrawlSpider。
2、第一个案例的 pipelines 管道文件是处理 html 静态文件 , 第二个案例 pipelines 管道文件是处理下载图片的 。
【Scrapy 爬虫完整案例-基础篇】
推荐阅读
- 七种颜色搭配方案,养生茶营销策划方案完整版
- Python爬虫练习:爬取800多所大学学校排名、星级等
- 麻将多少张?
- 大蛇2电影国语完整版免费观看 大蛇2免费完整版在线西瓜
- 7500航班真实情况 7500鬼航班完整版
- Python爬虫案例,腾讯动漫爬虫,步骤超详细解释,源码分析
- 书中自有黄金屋完整诗句?书中自有黄金屋的下一句是什么_1
- 四种Python爬虫常用的定位元素方法对比,你偏爱哪一款?
- Pyppeteer爬虫神器详解
- 破了这几种爬虫加密算法后,我的路更近了「JS逆向3」
