首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Os模块创建新文件

使用Os模块创建新文件
EN

Stack Overflow用户
提问于 2017-09-29 01:24:36
回答 2查看 38关注 0票数 0

知道解决方案的人

代码语言:javascript
复制
import os

使用这段代码创建一个文件,这个方法将在while循环中使用

代码语言:javascript
复制
def get_data(self,url):
            pagina = urllib.request.urlopen(self.url)
            data = BeautifulSoup(pagina, "html.parser")
            dest = "C:\\Users\\Dennis.Pieruschka\\Documents\\Scraper\\Links"
            html = ".html"
            brackets = "\\"
            string = dest + brackets + url + html
            with open(string, 'w') as f:
                f.write(data)
                f.close()
   
    Somehow i cant parse in the name of the URL and use it to name                        the file 
Somebody knows how to fix it i get this error 

    OSError: [Errno 22] Invalid argument: 'C:\\Users\\Dennis.Pieruschka\\Documents\\Scraper\\Links\\http://www.visservanbaars.nl/vacatures/senior-oracle-dba-osb-weblogic/.html'
EN

回答 2

Stack Overflow用户

发布于 2017-09-29 01:28:26

在Windows中,文件名上不能有:或\或/

票数 0
EN

Stack Overflow用户

发布于 2017-09-29 01:28:51

问题是您不能在文件名中包含:,并且/将被解释为目录分隔符。你可以这样做

代码语言:javascript
复制
encoded_url = url[5:] #remove 'http:
encoded_url = encoded_url.replace('/','-' # replace / with -

但是,更好的解决方案是对所有特殊字符进行编码,导入urllib.parse encoded_url = urllib.parse.quote(url)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46475036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档