powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Python) скачать фалы из списка url
6 сообщений из 6, страница 1 из 1
(Python) скачать фалы из списка url
    #38754836
Goodket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
Я только начал учить python, по этому просьба сильно не пинать.
Есть файл file_url.txt с ссылками внутри, каждая ссылка начинается с новой строки
есть код:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
f=open('file_url.txt','r')
for line in f:
#разбиваем строку для того что бы получить имя файла
    filename=line.split('/')
    filename=filename[5]

# проходим авторизацию и качаем
    s = requests.Session()
    s.auth = ('login', 'password')
    r=s.get(line, headers={'x-test2': 'true'})
    with open(filename,"wb") as code:
        code.write(r.content)
f.close()



При выполнении кода, нормально скачивается только тот файл url которого в самом низу, всем остальным создаются файлы в которых написано Not found.
Подскажите почему так происходит и как это решить?
...
Рейтинг: 0 / 0
(Python) скачать фалы из списка url
    #38754852
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(не сильно будет потом)

СЛыш ты, ты хочешь сказать что ты не понял, что скачивание по ссылке не зависит от того, где ты взял текст ссылки, из файла вычитал, или из другого места дастал!:)

или поняв выше не понял, что раз часть ссылок скачиваеться а часть нет, то значит проблема в самих ссылках === в способе чтения из файла! :)

или не учил ещо команду вывода значения переменной , что б
а)визуально попытаться увидеть разницу в ссылках
б)взять и самому из мозилы попытаться по тем ссылкам что оно выдало скачать.

===
а теперь не сильно.

подозреваю, что в текстовом файле в конце нету символа конца строки, а посему думаеться, что читая файл построчно, мы имеем строку-ссылку+байт(ы) перевода строки
вот изза лишних этих концовок строк и получаеться ссылка битой.

ЗЫ
питон не знаю вообще. может причина и вдругом.
...
Рейтинг: 0 / 0
(Python) скачать фалы из списка url
    #38754890
Goodket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСЛыш ты, ты хочешь сказать что ты не понял, что скачивание по ссылке не зависит от того, где ты взял текст ссылки, из файла вычитал, или из другого места дастал!:)
грубость упустим, вопрос не понял, мне нужно вытягивать ссылки из файла.

авторили поняв выше не понял, что раз часть ссылок скачиваеться а часть нет, то значит проблема в самих ссылках === в способе чтения из файла! :)
ссылки одинаковы, меняется только имя файла, с браузера все файлы качаются нормально.

авторподозреваю, что в текстовом файле в конце нету символа конца строки, а посему думаеться, что читая файл построчно, мы имеем строку-ссылку+байт(ы) перевода строки
вот изза лишних этих концовок строк и получаеться ссылка битой.
удалял символ перевода строки из конца , так как если она есть то я не могу сохранить файл "недопустимое имя",
...
Рейтинг: 0 / 0
(Python) скачать фалы из списка url
    #38754973
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goodket,

ну блиин...я же спецально вконце каждой реплики смайлик ставил, чтоб подчеркнуть что
прикалываюсь... типо пинаю сильно :):):):)

ладно...видать ты не вхорошем юморе сегодня...

имелось ввиду

1)ошибка в чом? не читаеться файл, ты получаешь пустую строку вкачестве ссылки
получаешь ссылку, но по ней не качаеться
или качаеться но не сохраняеться в файл

2)разделить задачу на 3 части, чтение файла, скачивание, сохранение скачаного, ещо авторизацию.

3)получить работающие 4 елемента.

4)склеить, добавив проверки того что вход следующего вточности равен входу предыдущего.

просто пример - пишу код пхп, думаю догадаешься что он делает


$f = fopen('links.txt','r');
while($link = fgets($f))//read line
{
$content = file_get_contents($link);

$items = explode('/',$link);
$fname = array_pop($items);//get last part of link as file name

file_put_contents('myfolderdata/'.$fname);
}

вижу что не работает.

вписываю две ссылки в текстовый файл, убедившись что по каждой мозила скачивает
http://site.ru/file1
http://site.ru/file2

содержимое сохраняю в файлы f1 f2

вместо вайла пошагово делаю

$link = fgets($f);
if($link !== 'http://site.ru/file1')
{
echo "SHEET mofck - ERROR READ LINKS FILE";
exit();
}

$content = file_get_contents($link);

if(file_get_contents('f1') !== $content)
{
echo "ONOTHER SHEET - contents are not the same";
exit();
}
.....

и увидеть таким образом, где получаеться не стыковка.

тыж сам понимаешь что магии там нету.
я хоть и не знаю питона, но подозреваю что код вцелом верен... ошибка либо в нюансе в
самих данных с сылками

например(но ты говоришь что тут все нормально)
что читая ссылку line in f:
ты получаешь вместо " http://site.ru/file1"
- " http://site.ru/file1".OEL - символ конца строки

либо в хедере этом не понятном...оперой(мозилой) ты поди этот хедер не отсылаешь

либо ещо где...именно в неучтеном нюансе.

а такое если не видеться - то именно так и ищеться... ити по коду, на листике щитать
что должно было получиться, или получать это стророним способом(контент файла например)

и сравнивать. чтоб для начало найти имено ту строку, с которой все пошло не так...ну а там
уже и свет вконце тунеля засветит как прожектор в глаза.


Модератор:
alex564657498765453 , прошу не выплескивать эмоции на посетителей. На техническом форуме это ни к чему.
Так же еще раз прошу внимательно ознакомиться с Правилами форума и выполнять их. Ваши сообщения содержат огромное количество ошибок. Рекомендую использовать средства проверки правописания перед публикацией сообщений.
Кроме того, прошу обратить внимание на возможность использования тега SRC для оформления фрагментов кода.
Конечно, Вы можете не уважать себя - это Ваше личное дело. Но Вы обязаны уважать посетителей форума.
--
vkle
...
Рейтинг: 0 / 0
(Python) скачать фалы из списка url
    #38755110
Goodket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это и есть кусочек кода не работающий :)
сори не правильный кусок кода дал, вернее пропустил строчку
Код: python
1.
a=line.rstrip()


сейчас вот так:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
f=open('file_url.txt','r')
for line in f:
    a=line.rstrip()
    filename=a.split('/')
    filename=filename[5]
    print filename
    s = requests.Session()
    s.auth = ('TRIAL-0121172712', 'v2nthsvtav')
    r=s.get(line, headers={'x-test2': 'true'})
    with open(filename,"wb") as code:
        code.write(r.content)
f.close()


файлы качаются не правильные.
если закоментировать строку a=line.rstrip()
то получаю вот такую ошибку
Код: python
1.
IOError: [Errno 22] invalid mode ('wb') or filename: 'em000_32_l0.nup\n'



как можно удалить перевод строки, и если я удалю не получится ли что все линки будут в одну строку?
возможно есть другой способ для скачивания файлов, так как я понял что этот метод не качает файл а эм, открывает его что ли и вывод уже записывает в файл.
...
Рейтинг: 0 / 0
(Python) скачать фалы из списка url
    #38755153
Goodket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извините, сам дурак :)
работающий код

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
f=open('server.txt','r')
for line in f:
    a=line.rstrip()
    print a
    filename=line.split('/')
    filename=filename[5]
    print filename
    s = requests.Session()
    s.auth = ('TRIAL-0121172712', 'v2nthsvtav')
    r=s.get(a, headers={'x-test2': 'true'})
    with open(filename[:15],"wb") as code:
        code.write(r.content)
f.close()
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Python) скачать фалы из списка url
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]