首页 > 解决方案 > 处理文件名中的“/”

问题描述

我正在尝试在 python 中使用 scrapy 保存 html 页面及其类别。在尝试保存它们时,我希望它们具有名称“WebCategory_http://whatever.com”。每当我尝试使用此代码执行此操作时:

def parse(self,response):
    content = response.body
    url = response.url
    cat =  str(response.meta['cat'])
    filename = str(cat) + '_' + str(url)
    with open(filename,'wb') as f:
        f.write(response.body)

当我这样做时,会发生这种情况:

IOError: [Errno 2] No such file or directory: 'Arts_https://www.behindthevoiceactors.com/'
2018-11-19 15:43:15 [scrapy.extensions.logstats] INFO: Crawled 45 pages (at 45 pages/min), scraped 0 items (at 0 items/min)
n)

我的猜测是'/'被解释为路径的一部分而不是文件名,有没有办法继续使用'/'?

标签: python

解决方案


不,/在大多数文件系统中不是文件名的有效部分。您需要用不同的字符替换它。


推荐阅读