老师我这图片下载不了

老师我这图片下载不了

pipelines.py
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html


# useful for handling different item types with a single interface
from itemadapter import ItemAdapter
import pymongo
from scrapy.exceptions import DropItem
from scrapy.pipelines.images import ImagesPipeline

class TubatuScrapyProjectPipeline:
def __init__(self):
myclient = pymongo.MongoClient("mongodb://106.12.9.193:27017", username="admin", password="123456")
mydb = myclient['db_tubatu']
self.mycollection = mydb['collection_tubatu']


def process_item(self, item, spider):
data = dict(item)
self.mycollection.insert_one(data)
return item

# 自定义的图片下载类需要继承于ImagesPipeline
class TubatuImagePipeline(ImagesPipeline):
# def get_media_requests(self, item, info):
# # 根据image_urls中指定URL爬取
# pass

def item_completed(self, results, item, info):
# 图片下载完毕之后,处理结果的,返回是一个二元组
# (success, image_info_or_failure)
image_paths = [x['path'] for ok, x in results if ok]
if not image_paths:
raise DropItem('Item contains no images')
return item


def file_path(self, request, response=None, info=None):
url = request.url
file_name = url.split('/')[-1]

return file_name

这是我pipelines文件的代码,运行以后存储到了数据库但是没有解析图片下载,也没有帮错

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2021-09-04 11:42:54

同学,你好!在settings.py中检查一下图片下载的pipeline是否启用,以及是否定义图片下载目录

https://img1.sycdn.imooc.com//climg/6132ead409f90dd611140415.jpg

祝:学习愉快!

  • 提问者 星光荡开宇宙 #1
    ITEM_PIPELINES = {
    'tubatu_scrapy_project.pipelines.TubatuScrapyProjectPipeline': 300,
    'tubatu_scrapy_project.pipelines.TubatuImagePipeline': 301,
    }

    # 定义好图片被下载到哪里
    IMAGES_STORE = 'images'

    我定义了

    2021-09-04 12:27:02
  • 同学,你好!可将整个项目打包发送到邮箱1757578369@qq.com,老师这边运行项目看一下。祝学习愉快!

    2021-09-04 14:33:19
  • 老师我的也下载不了,也发给你了


    2021-12-30 02:15:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师