Permintaan python menyimpan sesi ke file

Dalam tutorial ini kita akan mempelajari apa itu Cookie dan Sesi, kepentingannya dalam scraping dan cara menggunakannya dengan pustaka permintaan python

Kue kering

Cookie HTTP adalah jenis header permintaan khusus yang mewakili sebagian kecil data yang dikirim dari situs web dan disimpan di komputer pengguna. Ini berbeda dari tajuk lain, karena kami bukan orang yang memilihnya – situs weblah yang memberi tahu kami cara menyetel bidang ini. Kemudian, cookie dapat dikirimkan bersama dengan permintaan klien berikutnya

Cookie dirancang untuk menjadi mekanisme yang andal bagi situs web untuk mengingat informasi status, seperti item yang ditambahkan ke keranjang belanja di toko online, atau untuk merekam aktivitas penjelajahan pengguna

Mereka juga dapat digunakan untuk mengingat sembarang potongan informasi yang sebelumnya dimasukkan pengguna ke dalam bidang formulir, seperti nama, alamat, kata sandi, dan nomor kartu kredit.

Setiap kali browser web pengguna berinteraksi dengan server web, informasi cookie akan diteruskan ke server web. Hanya cookie yang disimpan oleh browser yang terkait dengan domain di URL yang diminta yang akan dikirim ke server. Ini berarti cookie yang berhubungan dengan www. contoh. com tidak akan dikirim ke www. domaincontoh. com

Intinya, cookie adalah cara yang bagus untuk menautkan satu halaman ke halaman berikutnya untuk interaksi pengguna dengan situs web atau aplikasi web

Sementara cookie scraping diperlukan untuk menghindari pemblokiran. Mereka digunakan untuk meniru browser web sehingga halaman web tidak menganggap scraper kami sebagai bot dan memblokir kami

Sesi

Sesi dapat didefinisikan sebagai penyimpanan informasi sisi server yang diinginkan untuk bertahan selama interaksi pengguna dengan situs web atau aplikasi web.  

Alih-alih menyimpan informasi besar dan terus berubah melalui cookie di browser pengguna, hanya pengidentifikasi unik yang disimpan di sisi klien (disebut "id sesi"). Id sesi ini diteruskan ke server web setiap kali browser membuat permintaan HTTP (yaitu tautan halaman atau permintaan AJAX). Aplikasi web memasangkan id sesi ini dengan database internalnya dan mengambil variabel yang disimpan untuk digunakan oleh halaman yang diminta

Sesi membuat file dalam direktori sementara di server tempat variabel sesi terdaftar dan nilainya disimpan. Data ini akan tersedia untuk semua halaman di situs selama kunjungan tersebut

Sesi berakhir ketika pengguna menutup browser atau setelah meninggalkan situs, server akan menghentikan sesi setelah jangka waktu yang telah ditentukan, umumnya durasi 30 menit

Sesi dalam layanan scraping sebagian besar digunakan untuk mengirim permintaan put yaitu mengisi formulir seperti formulir Login dll. Mereka juga digunakan untuk mengirim banyak permintaan dan mengikis data secara paralel

Sekarang mari kita lihat cara menggunakan cookie dan sesi dengan pustaka permintaan python

Kami dapat memperoleh respons cookie setelah permintaan pertama kami dengan menggunakan metode cookie seperti di bawah ini dan selanjutnya dapat mengirimkan cookie ini dengan permintaan berikutnya

import requests
response = requests.get('http://www.dev2qa.com')
response.cookies

Keluaran

Permintaan python menyimpan sesi ke file

Kami juga bisa mendapatkan cookie individual dengan menggunakan for loop seperti di bawah ini

untuk cookie sebagai tanggapan. kue

print('domain cookie = ' + cookie. domain)

print('nama kue = ' + kue. nama)

print('nilai kue = ' + kue. nilai)

mencetak('*************************************')

Keluaran

Permintaan python menyimpan sesi ke file

Kami dapat menentukan cookie khusus kami menggunakan kamus atau objek toples cookie seperti di bawah ini

# Set url value.
url = 'https://www.dev2qa.com'
# Create a dictionary object.
cookies = dict(name='jerry', password='888')
# Use python requests module to get related url and send cookies to it with cookies parameter. 
response = requests.get(url, cookies=cookies)
url = 'https://www.dev2qa.com'
# Create a RequestsCookieJar object.
cookies_jar = requests.cookies.RequestsCookieJar()
# Add first cookie, the parameters are cookie_key, cookie_value, cookie_domain, cookie_path.
cookies_jar.set('name', 'jerry', domain='dev2qa.com', path='/cookies')
_

Keluaran

Kuki(versi=0, nama='nama', nilai='jeri', port=Tidak ada, port_specified=Salah, domain='dev2qa. com’, domain_specified=Benar, domain_initial_dot=Salah, path=’/cookies’, path_specified=Benar, aman=Salah, kedaluwarsa=Tidak ada, buang=Benar, komentar=Tidak ada, comment_url=Tidak ada, istirahat={'HttpOnly'. Tidak ada}, rfc2109=Salah)

# Add second cookie.
cookies_jar.set('password', 'jerry888', domain='dev2qa.com', path='/cookies')

Keluaran

Kuki(versi=0, nama=’sandi’, nilai=’jerry888′, port=Tidak ada, port_specified=Salah, domain=’dev2qa. com’, domain_specified=Benar, domain_initial_dot=Salah, path=’/cookies’, path_specified=Benar, aman=Salah, kedaluwarsa=Tidak ada, buang=Benar, komentar=Tidak ada, comment_url=Tidak ada, istirahat={'HttpOnly'. Tidak ada}, rfc2109=Salah)

# Get url with cookie parameter.
response = requests.get(url, cookies=cookies_jar)

Metode Session() modul permintaan Python akan mengembalikan permintaan. sesi. Objek sesi, kemudian beroperasi (seperti dapatkan halaman url terkait) pada objek sesi ini akan menggunakan satu sesi yang sama

import requests
# Call requests module's session() method to return a requests.sessions.Session object.
session = requests.Session()
_

Permintaan kembali. sesi. Objek sesi menyediakan berbagai atribut dan metode untuk Anda akses seperti halaman web dengan url, header, nilai cookie dalam sesi yang sama. Anda dapat menggunakan objek sesi seperti di bawah ini

# Show all headers and cookies in this session.
session.headers

Keluaran

Permintaan python menyimpan sesi ke file
# Use this session object to get a web page by url.
response = session.get('http://www.dev2qa.com')
# When above browse web page process complete, this session has cookies.
session.cookies
_

Keluaran

Permintaan python menyimpan sesi ke file

Beginilah cara kami menggunakan cookie dan sesi dengan pustaka permintaan. Ke depannya, kami akan menggunakan semua fungsi ini secara ekstensif. Tahu lebih banyak tentang Bagaimana cara menyimpan sesi permintaan Python?

Bagaimana cara menyimpan file dalam permintaan Python?

Bagaimana cara mengunduh file menggunakan Permintaan Python? . File->Save to save your requests for quick access from any device at any time.

Bagaimana Anda mempertahankan Sesi dalam permintaan Python?

Objek Sesi Permintaan memungkinkan Anda mempertahankan parameter tertentu di seluruh permintaan ke situs yang sama. Untuk mendapatkan objek Sesi di Permintaan Python, Anda perlu memanggil permintaan. Metode sesi() . Objek Session dapat menyimpan parameter seperti cookie dan header HTTP.

Apa itu permintaan Sesi () dengan Python?

Objek sesi memungkinkan seseorang untuk mempertahankan parameter tertentu di seluruh permintaan . Itu juga mempertahankan cookie di semua permintaan yang dibuat dari instance Sesi dan akan menggunakan kumpulan koneksi urllib3.
Buat kuki . Setelah itu, cookie disimpan menggunakan fungsi set_cookie() dari objek respons . Sangat mudah untuk membaca kembali cookie. Metode get() dari permintaan.