无法创建文本文件 - IOError:[Errno 2]没有这样的文件或目录:

时间:2016-04-10 19:57:03

标签: python web-scraping lxml

我正在编写一个刮刀来打开CSV,获取链接列表,在网站中提取特定的HTML标签(语音)并将内容保存在TXT文件中,该文件以发言时间命名

我完成了这件事:

#encoding:utf-8
import csv
import urllib
import lxml.html
import unicodedata

objeto = csv.reader(open('links.csv', 'rU'), dialect=csv.excel_tab)

for link in objeto:
    connection = urllib.urlopen(link[0])
    dom = lxml.html.fromstring(connection.read())
    discurso = []
    for d in dom.xpath('//div[@id="content-core"]/div/p/text()'):
        discurso.append(d)
    d1 = " ".join(discurso)
    data = dom.xpath('//span[@class="documentPublished"]/text()[normalize-space()]')
    data1 = [date.strip() for date in data]
    make_string = "-".join(data1)
    file = open(make_string+'.txt', 'w')
    file= arquivo.write(d1)
    file.close()

我能够提取日期和演讲,但最后一步不起作用。当尝试在TXT文件中保存语音时,IDLE会向我显示消息

IOError: [Errno 2] No such file or directory: '17/12/2010 23h39,.txt'

我尝试过使用' w'和' a'在创建文件时,但失败了。我做错了什么?

1 个答案:

答案 0 :(得分:2)

问题是它希望在其下找到目录17和子目录12,因为/用于表示目录。我建议将所有/字符替换为-