Автоматизация загрузки файлов с помощью Javascript URL с использованием Python - PullRequest
1 голос
/ 13 июня 2011

Мне было поручено автоматизировать загрузку нескольких CSV-файлов с сайта, сильно закодированного в Javascript (https://www.quantcast.com/download/plannerCSV?&d0Id=01&sc=1&mr=10000&rs2=-1).. Существует удобная кнопка «Загрузить», которая запрашивает загрузку, URL-адрес которой я нашел с помощью Firebug:

https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000

Однако, насколько мне известно, URL должен заканчиваться на .csv, чтобы модуль urllib2 в python мог читать / записывать его на мой диск. Есть ли способ получить URL для этого файла, заканчивающийся на .csv, чтобы я мог автоматизировать загрузку с помощью python?

Я предпочитаю использовать python для написания сценария, но если есть другой подход для решения этой задачи, более разумный / простой, я бы хотел узнать об этом. Любое руководство приветствуется! Спасибо =)

(редактировать), чтобы уточнить : данные, которые я пытаюсь загрузить, представляют собой гигантский (регулярно обновляемый) список, который можно фильтровать различными способами в зависимости от того, какие флажки установлены. URL-адрес изменяется в зависимости от флажков, поэтому я считаю, что URL-адрес может вызывать вызов Javascript, который каждый раз генерирует новый файл CSV.

Ответы [ 2 ]

0 голосов
/ 13 июня 2011

эти URL перенаправляют вас?если да, вы должны использовать перенаправление URL (читать заголовок ~ использовать подробный) или попытаться сохранить страницу с текущим URL с помощью urllib, а затем переименовать в * .csv.ты должен попробовать это.

0 голосов
/ 13 июня 2011

Работает ли добавление фиктивной переменной GET? Для некоторых вещей - очевидной для меня является вики Google Code относительно файлов изображений - они требуют расширения файла и достигают этого путем передачи переменных GET, которые не будут использоваться сервером. Что-то вроде:

https://www.quantcast.com/download/plannerCSV?&d0Id=10&sc=1&mr=10000&foo=.csv

Я бы проверил это, но у меня нет учетной записи Quantcast.

...