Искатель сайта Python, сохранение файлов с помощью Scrapy - PullRequest
2 голосов
/ 19 августа 2011

Я пытаюсь написать сканер, который примет определенную запись поиска и сохранит целую кучу файлов .CSV, связанных с результатами.

У меня уже есть вход в систему паука, анализирующий все HTMLданные, которые мне нужны, и теперь все, что мне осталось сделать, это выяснить, как я могу сохранить нужные мне файлы.

Таким образом, поиск возвращает такие ссылки, как эта https://www.thissite.com/data/file_download.jsp?filetype=1&id=22944

, которая затем в веб-браузере предлагает вам сохранить связанный файл .csv.Как я могу написать свой паук, чтобы иметь возможность загрузить эту страницу и загрузить файл?Или есть способ, как я могу поймать статическую ссылку на информацию?

1 Ответ

1 голос
/ 19 августа 2011

Если вы просканировали ссылку на файлы CSV, вы можете просто загрузить их с помощью wget, который также может войти на страницу.

Вы можете указать --http-user и --http-passwd, или вы используете куки следующим образом:

$ wget --cookies=on --keep-session-cookies --save-cookies=cookie.txt --post-data "login=USERNAME&password=PASSWORD" http://first_page
$ wget --referer=http://first_page --cookies=on --load-cookies=cookie.txt --keep-session-cookies --save-cookies=cookie.txt http://second_page

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

Я бы предложил сделать все это в специальном Scrapy Pipeline ,все это делается в Scrapy, а не во внешнем сценарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...