【问题标题】:Can't create a text file - IOError: [Errno 2] No such file or directory:无法创建文本文件 - IOError: [Errno 2] 没有这样的文件或目录:
【发布时间】:2016-04-10 19:57:02
【问题描述】:

我正在编写一个抓取工具来打开 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()

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

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

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

【问题讨论】:

  • 这个问题被问了无数次。检查问题右侧的相关列,您会发现thisthisthis 等。常见问题:相对路径与绝对路径、缺少引号、缺少转义字符、正斜杠/反斜杠、空格在文件名中。
  • @jDo不,这些问题都与OP的问题无关,绝对路径也无关。请注意,代码正在写入文件,因此它不需要事先存在。问题是指示目录的斜线。

标签: python web-scraping lxml


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多