我正在尝试使用我已有的网址列表自动从网站下载文件。我的代码的相关部分如下所示:
for url in urls:
if len(url) != 0:
print url
运行它会将url列表打印为字符串 - 正如预期的那样。但是,当我添加一个新行时,如下所示:
for url in urls:
if len(url) != 0:
print url
r = requests.get(url)
出现错误,显示“无效的URL u'Document Detail”:未提供架构。在此之前,它应该打印一个网址。以前,这按预期打印了网址。但是,现在它打印“文档详细信息”而不是URL。我不太清楚为什么会这样,以及如何解决它。
任何帮助将不胜感激!
修改
urls = []
with open('filename.csv', 'rb') as f:
reader = csv.reader(f)
count = 0
for row in reader:
urls.append(row[34])
答案 0 :(得分:2)
参考我的评论,"文件详情"是你的csv的标题。跳过它。这是一种方法。
urls = []
with open('filename.csv', 'rb') as f:
read = f.readlines()
urls = [row.split(",")[34] for row in read[1:]]
答案 1 :(得分:0)
csv文件的布局可能已更改且网址不再位于 33 列中(即34 {1,因为rows
为零)。
答案 2 :(得分:0)
你应该明确地将url转换为字符串:
for url in urls:
if len(url) != 0:
print str(url)
r = requests.get(str(url))
也许你可以给我们一些你的.csv文件。