Python Scrapy图片爬取原理及代码实例
作者:Hedger_Lee 时间:2022-04-29 05:51:06
1.在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道
在管道文件对图片进行下载和持久化存储
class ImgSpider(scrapy.Spider):
name = 'img'
# allowed_domains = ['www.xxx.com']
start_urls = ['http://www.521609.com/daxuemeinv/']
url = 'http://www.521609.com/daxuemeinv/list8%d.html'
pageNum = 1
def parse(self, response):
li_list = response.xpath('//*[@id="content"]/div[2]/div[2]/ul/li')
for li in li_list:
img_src = 'http://www.521609.com'+li.xpath('./a[1]/img/@src').extract_first()
item = ImgproItem()
item['src'] = img_src
yield item
2.配置文件修改
配置文件要增加IMAGES_STORE = './imgsLib'表明图片存放的路径
3.管道类的修改
原本管道类继承的object,处理item对象使用时process_item方法,该方法不能发送请求,要想对图片地址发送请求,需要继承ImagesPipeline类,然后重写该类中的三个方法:get_media_requests,file_path,item_completed
from scrapy.pipelines.images import ImagesPipeline
import scrapy
class ImgproPipeline(ImagesPipeline):
#对某一个媒体资源进行请求发送
#item就是接收到的spider提交过来的item
def get_media_requests(self, item, info):
yield scrapy.Request(item['src'])
#制定媒体数据存储的名称
def file_path(self, request, response=None, info=None):
name = request.url.split('/')[-1]
print('正在下载:',name)
return name
#将item传递给下一个即将给执行的管道类
def item_completed(self, results, item, info):
return item
来源:https://www.cnblogs.com/Hedger-Lee/p/13072581.html
标签:Python,Scrapy,图片,爬取
0
投稿
猜你喜欢
一篇文章介绍redux、react-redux、redux-saga总结
2023-08-22 16:56:32
类似google的ASP分页代码[测试通过]
2009-03-13 12:43:00
redux-saga 初识和使用
2023-07-15 16:20:17
javascript中的关于类型转换的性能优化
2023-06-26 16:25:48
xml css htc 的综合运用
2008-10-10 11:41:00
SqlServer 2005 中字符函数的应用
2024-01-16 09:01:32
Pycharm简单使用教程(入门小结)
2021-09-03 04:13:04
Python连接es之查询方式示例汇总
2023-06-07 11:11:03
python中的load、loads实现反序列化示列
2023-04-01 23:49:56
python快速编写单行注释多行注释的方法
2022-06-04 07:06:54
请给PNG8一个机会:对png8的误解
2009-09-21 10:45:00
Pandas之Dropna滤除缺失数据的实现方法
2022-03-30 03:29:42
JS实现带鼠标效果的头像及文章列表代码
2024-04-22 22:32:09
python requests库爬取豆瓣电视剧数据并保存到本地详解
2022-05-29 08:35:05
Python基于smtplib协议实现发送邮件
2021-03-02 07:26:36
SQL Server 2008 安装和配置图解教程(附官方下载地址)
2024-01-12 20:28:17
如何去除点击链接时出现的虚线框
2007-12-02 17:38:00
Golang语言实现gRPC的具体使用
2024-05-05 09:26:19
H1标签的定义
2008-07-29 12:43:00
SQL计算字符串中最大的递增子序列的方法
2024-01-26 15:33:53