scrapy MapCompose 一些操作

from scrapy.loader.processors import MapCompose,Join  

Join()(['hi','John'])                                                   
Out[2]: 'hi John'


MapCompose(lambda i: i.replace(',', ''),float)(['1,400.23'])            
Out[8]: [1400.23]

 

Scrapy是一个强大的Python网络爬虫框架,用于高效地抓取网页数据。如果你想要使用Scrapy保存图片,你可以遵循这些基本步骤: 1. **设置下载器中间件**:在Scrapy中,`DownloaderMiddleware`是处理下载和请求的地方。你需要设置一个下载管道(`DownloadPipeline`),用于下载图片。在`settings.py`文件中,添加一个新的下载管道,例如 `IMAGESPipeline`。 ```python DOWNLOADER_MIDDLEWARES = { 'myproject.pipelines.ImagesPipeline': 300, } ``` 2. **定义下载管道**:创建一个名为`ImagesPipeline`的类,继承自`BaseDownloadPipeline`。这个类将负责下载图片并存储它们。 ```python class ImagesPipeline(BaseDownloadPipeline): def get_media_requests(self, response): # 这里可以根据响应中的URL找到图片链接 for img_url in response.css('img::attr(src)').getall(): yield DownloadRequest(img_url) def item_completed(self, results, item, info): image_paths = [x['path'] for ok, x in results if ok] if not image_paths: return item # 将图片路径附加到item上 item['image_paths'] = image_paths return item ``` 3. **处理响应和存储图片**:在`download_response`方法中,使用`response.url`作为文件名下载图片,并使用`save_path`方法保存到本地。 ```python def download_response(self, request, response, spider): # 使用下载的URL作为文件名 filename = os.path.basename(response.url) # 保存图片到指定目录 path = os.path.join(self.save_path, filename) with open(path, 'wb') as f: f.write(response.body) ``` 4. **配置保存图片的路径**:在`settings.py`中,设置`IMAGES_STORE`变量为图片保存的目录。 ```python IMAGES_STORE = 'path/to/images/folder' ``` 5. **运行爬虫**:最后,在Scrapy项目中运行爬虫时,图片下载和存储就会按照上述配置进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值