老师我这图片下载不了
1 | pipelines.py<br> # Define your item pipelines here<br>#<br># Don't forget to add your pipeline to the ITEM_PIPELINES setting<br># See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html<br><br><br># useful for handling different item types with a single interface<br>from itemadapter import ItemAdapter<br>import pymongo<br>from scrapy.exceptions import DropItem<br>from scrapy.pipelines.images import ImagesPipeline<br><br>class TubatuScrapyProjectPipeline:<br> def __init__(self):<br> myclient = pymongo.MongoClient("mongodb://106.12.9.193:27017", username="admin", password="123456")<br> mydb = myclient['db_tubatu']<br> self.mycollection = mydb['collection_tubatu']<br><br><br> def process_item(self, item, spider):<br> data = dict(item)<br> self.mycollection.insert_one(data)<br> return item<br><br># 自定义的图片下载类需要继承于ImagesPipeline<br>class TubatuImagePipeline(ImagesPipeline):<br> # def get_media_requests(self, item, info):<br> # # 根据image_urls中指定URL爬取<br> # pass<br><br> def item_completed(self, results, item, info):<br> # 图片下载完毕之后,处理结果的,返回是一个二元组<br> # (success, image_info_or_failure)<br> image_paths = [x['path'] for ok, x in results if ok]<br> if not image_paths:<br> raise DropItem('Item contains no images')<br> return item<br><br><br> def file_path(self, request, response=None, info=None):<br> url = request.url<br> file_name = url.split('/')[-1]<br><br> return file_name<br> |
这是我pipelines文件的代码,运行以后存储到了数据库但是没有解析图片下载,也没有帮错
31
收起
正在回答 回答被采纳积分+1
Python全能工程师
- 参与学习 人
- 提交作业 16329 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧