我正在写一个scraper来打开CSV,获取一个链接列表,在站点(speechs)中提取一个特定的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',但是失败了。我做错什么了?在
问题是它期望找到一个目录},因为
17
和它下面的子目录{/
是用来表示目录的。我建议用-
替换所有/
字符。在相关问题 更多 >
编程相关推荐