Python3 Скачать CSV-файлы с URL-адреса в текстовом файле - PullRequest
0 голосов
/ 20 марта 2020

Приведенный ниже код будет анализировать JSON из URL-адреса, чтобы получить 10 URL-адресов и поместить их в файл output.txt.

import json
import urllib.request

response = urllib.request.urlopen('https://json-test.com/test').read()
jsonResponse = json.loads(response)
jsonResponse = json.loads(response.decode('utf-8'))
for child in jsonResponse['results']:
    print (child['content'], file=open("C:\\Users\\test\\Desktop\\test\\output.txt", "a"))

Теперь, когда в output.txt есть 10 ссылок на csv-файлы, пытаюсь выяснить, как я могу загрузить и сохранить 10 файлов. Попытка сделать что-то подобное, но не работает.

urllib.request.urlretrieve(['content'], "C:\\Users\\test\\Desktop\\test\\test1.csv")  

Даже если я получаю вышеуказанную работу, это только для 1 файла, в файле output.txt есть 10 ссылок на файлы. Есть идеи?

1 Ответ

0 голосов
/ 20 марта 2020

Вот исчерпывающее руководство по загрузке файлов через http .

Если текстовый файл содержит одну ссылку на строку, вы можете перебирать строки следующим образом:

file = open('path/to/file.ext', 'r')
id = 0
for line in file:
   # ... some regex checking if the text is actually a valid url
   response = urllib.request.urlretrieve(line, 'path/to/file' + str(id) + '.ext')
   id+=1
...