Некоторые части википедии выглядят по-разному, когда вы вошли в систему. Я хотел бы видеть пользовательские страницы, чтобы они выглядели так, как будто я вошел в систему.
Есть ли способ, которым я могу wget пользовательские страницы, как это
http://en.wikipedia.org/wiki/User:A
это страница входа в систему:
http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Login&campaign=ACP3
Ответы:
Самый простой способ: войдите в свой браузер и дайте куки на wget
Самый простой способ: в общем, вам нужно предоставить wget или curl с (вошедшими в систему) cookie-файлами с определенного веб-сайта, чтобы они могли выбирать страницы, как если бы вы вошли в систему .
Если вы используете Firefox, это легко сделать с помощью дополнения Export Cookies . Установите дополнение и:
cookies.txt
файл (вы можете изменить имя файла / место назначения).Откройте терминал и используйте
wget
с--load-cookies=FILENAME
опцией, например,curl --cookie cookies.txt ...
(Я постараюсь обновить этот ответ для пользователей Chrome / Chromium)
Сложный путь: используйте curl (желательно) или wget для управления всей сессией
--cookie-jar
или wget с--save-cookies --keep-session-cookies
параметрами вместе с методом HTTP / S PUT, чтобы войти на сайт, сохранить файлы cookie для входа и затем использовать их для симулировать браузеристочник
grep mydomain cookies.txt > mydomain-cookies.txt
Еще одно простое решение, которое сработало для меня, не устанавливая ничего лишнего:
Это даст вам команду, которую вы можете вставить прямо в вашу оболочку, которая имеет все ваши учетные данные cookie, например
Затем вы можете изменить URL-адрес в команде, чтобы получить все, что вы хотите.
источник
С cURL действительно легко обрабатывать куки в обоих направлениях.
curl www.target-url.com -c cookie.txt
затем сохранит файл с именем cookie.txt. Но вы должны войти в систему , поэтому необходимо использовать --data с аргументами типа:curl -X --data "var1=1&var2=2" www.target-url.com/login.php -c cookie.txt
. Получив cookie-файл в журнале, вы можете отправить его:curl www.target-url.com/?user-page.php -b cookie.txt
Просто используйте -c (--cookie) или -b (--cookie-jar) для сохранения и отправки.
Примечание 1: Использование cURL CLI намного проще, чем PHP, и, возможно, быстрее;)
Для сохранения окончательного содержимого вы можете легко добавить его
> filename.html
в команду cURL, а затем сохранить полный HTML-код.Примечание 2 о "full": Yo не может отобразить javascript с помощью cURL, просто получить исходный код.
источник
-X
Параметр означает «делать пост», но использование--data=xxx
-X
неявно, так что вы можете удалить его обязательно.-b
этоread cookie
Для тех, кто все еще интересуется этими вопросами, есть очень полезное расширение Chrome под названием CurlWGet, которое позволяет создавать
wget
/curl
запрос с мерами аутентификации и т. Д. Одним щелчком мыши. Чтобы установить это расширение, выполните следующие действия:Наслаждайтесь!
источник
В блоге Wget с Firefox Cookies показано, как получить доступ к файлу данных sqlite, в котором Firefox хранит свои куки. Таким образом, не нужно вручную экспортировать куки для использования с wget. Комментарий предполагает, что он не работает с сессионными куки, но он работал нормально для сайтов, с которыми я пробовал.
источник
взгляните на кликет для Firefox.
Когда вы собираетесь загружать, в последнем диалоговом окне загрузки вы получаете возможность скопировать загрузку в виде командной строки curl в буфер обмена.
источник
Вы пробовали это?
источник
Попробуйте что-то вроде:
Смотрите также эту ссылку:
Как загрузить эту веб-страницу с помощью wget?
источник
> filename.html
чтобы сохранить вывод в текущем каталоге или указать полный путь к файлу. Это касается как систем Linux, так и Windows.Для более сложных входов в систему на основе веб-сайта вы также должны использовать скрипт Python и некоторый модуль, имитирующий браузер, например http://wwwsearch.sourceforge.net/mechanize/ вместо
curl
илиwget
.Таким образом, сеансовые куки-файлы обрабатываются автоматически, вы можете переходить по ссылкам и заполнять формы входа в систему, и, таким образом, «писать сценарии» в процессе входа в систему, как если бы вы использовали веб-браузер.
источник