[Примечания] Гусеничный Python процесс печенья аналоговых настроек для доступа к пользователю (2)

Учебные пособия «сбор питон сети передачи данных», большая часть кода для этой книги.

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

  питон изменить печенье 1. В общем

Во-первых, получить печенье

Импорт запросов 

на Params = { « имя пользователя » : « Ryan » , « пароль » : « пароль » } # установлен словарь, имя пользователя и пароль, запрос с хоста почти 
R & л = requests.post ( " http://pythonscraping.com /pages/cookies/welcome.php "PARAMS)
 Печать ( " Cookie в SET IS: " )
 для печати (r.cookies.get_dict ()) # получить печенье и выход
 печати ( " --------- - " )
 Печать ( "Переход на страницу профиля ... " ) 
г = requests.get ( " http://pythonscraping.com/pages/cookies/profile.php " , печенье = r.cookies) #发送печенье
 печати (r.text)

  2. Для изменения печенья

Если сайт вы столкнулись с более сложными, часто тайно настроить печенье, или если вы не хотите использовать печенье с самого начала сеанса просит функционировать библиотека может решить эти проблемы:

импорт запросов 
сессии
= requests.Session () PARAMS = { ' имя пользователя ' : ' имя пользователя ' , ' пароль ' : ' пароль ' } s = session.post ( " http://pythonscraping.com/pages/cookies/welcome.php "PARAMS) печать ( " Cookie установлен в: " ) печать (s.cookies.get_dict ()) печать ( " ----------- " ) печать (" Переход на страницу профиля ... " ) s = session.get ( " http://pythonscraping.com/pages/cookies/profile.php " ) печать (s.text)

Приведенный выше код не устанавливает значение куки, которое на удобство сессии. Сессия (Session) объекты (называть requests.Session () Получает) отслеживает информацию сеанса, такие как печенье, заголовок, и даже сведения о выполнении протокола HTTP, HTTPAdapter (обеспечивает единый интерфейс для HTTP и HTTPS ссылки сессии)

  3. Операции пользователя печенья на основе сгенерированных с помощью сценария

Поскольку модуль запросов не может выполнить JavaScript, поэтому он не может обрабатывать много нового поколения отслеживания печенья программного обеспечения, таких как Google Analytics, клиент только если сценарий выполняется после установки куки (печенье или веб-событие генерируется, когда пользователь просматривает страницу, например, нажав на кнопку ). Чтобы справиться с этими действиями, вам нужно использовать Selenium и пакет PhantomJS (phantomJS пакет был холодным, может быть использован вместо Firefox или Google)

(1) получение печенья

от селена импорта WebDriver 
драйвер
= webdriver.Firefox () driver.get ( " https://www.bilibili.com/ " ) driver.implicitly_wait ( 1 )
печать (driver.get_cookies ())

(2) вызов delete_cookie (), add_cookie () и delete_all_cookies () метод, чтобы иметь дело с куки

Кроме того, куки могут быть сохранены для будущего использования других веб-искателя. В следующем примере показано, как объединить эти функции:

от селена импорта WebDriver 
драйвера
= webdriver.Firefox ()
driver.get ( " http://pythonscraping.com " ) 
driver.implicitly_wait (
1 ) печать (driver.get_cookies ())
savedCookies
= driver.get_cookies ()

драйвер2
= WebDriver. Firefox ()

driver2.get (
" http://pythonscraping.com " )
driver2.delete_all_cookies ()
для печенья в savedCookies:
  driver2.add_cookie (печенье)
driver2.get (
" http://pythonscraping.com " )
driver.implicitly_wait (
1 ) для
печати(driver2.get_cookies ())

В этом примере первый WebDriver получить сайт, распечатать и сохранить их в переменном печенье savedCookies лет. Второй WebDriver загружен с веб-сайта (Техническое примечание: вы должны сначала загрузить сайт, это печенье Селен для того, чтобы знать, какие сайты принадлежат, даже если поведение нагрузки сайта у нас не было никакого использования), удалить все куки, а затем заменить первый WebDriver в результате печенье. При загрузке страницы снова, два печенья метка времени, исходный код и другая информация должна быть точно такой же. Google Analytics в перспективе, второй и теперь первый WebDriver WebDriver точно так же.

рекомендация

отwww.cnblogs.com/dfy-blog/p/11518630.html