Scrapy:重命名已下载使用unicode将文件名转换为字符串会导致字符混乱

2024-09-28 20:58:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从一个网站上删除一些PDF文件,而不是让Scrapy命名这些文件,我想用我从网站上删除的标题来命名这些PDF文件网站。所以呢我定义ReportsPDFPipeline并重写file_path函数。你知道吗

class ReportsPDFPipeline(FilesPipeline):
    def file_path(self, request, response = None, info = None):
        #print("我被调用了")
        file_guid = request.meta["title"]
        return "full/%s" % (file_guid)

问题是title中有一些unicode(中文)字符,因此此路径中没有存储PDF文件。你知道吗

然后我尝试了一个简单的案例:

class ReportsPDFPipeline(FilesPipeline):
    def file_path(self, request, response = None, info = None):
        #print("我被调用了")
        return u"full/" + u"我被调用了" + u".PDF"

这一次,文件可以重命名和存储,但有一些混乱的字符如下:

enter image description here

我该怎么做才能正确地重命名文件?你知道吗


Tags: 文件pathselfinfononepdf网站response