Håndtering av brukerautentisering
Bygg boter som kan logge inn på nettsteder ved hjelp av påloggingsopplysninger, sesjonsbehandling og håndtering av informasjonskapsler.
Håndtering av brukerautentisering er en gratis leksjon i Nettskraping og boter på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Nettskraping og boter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Nettskraping og boter inneholder totalt 4 leksjoner.
Hvorfor boter må logge inn
Mange nettsteder krever at du logger inn for å få tilgang til bestemte data eller funksjoner. Boter må ofte simulere denne prosessen for å komme forbi betalingsmurer, få tilgang til dashbord eller hente personlig tilpasset innhold.
- Få tilgang til begrenset innhold.
- Utføre brukerspesifikke handlinger.
- Opprettholde en vedvarende identitet.
Forstå innloggingsskjemaer
Når du logger inn manuelt, sender nettleseren brukernavnet og passordet ditt til serveren. Dette gjøres vanligvis via en HTTP POST-forespørsel til en bestemt URL.
- POST-forespørsel: Sender data sikkert i forespørselens body.
- Skjemafelt: Inndatafelt for påloggingsinformasjon (for eksempel brukernavn og passord).
- Handlings-URL: Serverendepunktet som behandler innloggingen.
Finne detaljer om innloggingsskjemaet
For å automatisere en innlogging må du finne skjemaets action-URL og name-attributtene til inndatafeltene (brukernavn og passord). Utviklerverktøyene i nettleseren er helt nødvendige her.
- Høyreklikk på innloggingsskjemaet → "Inspect".
- Se etter
<form>-taggen: finnaction-attributtet. - Se etter
<input>-tagger: finnname-attributtene for påloggingsinformasjonen.
Sende innloggingsdata med Requests
Python-biblioteket requests kan sende POST-forespørsler. Du klargjør en ordbok med påloggingsinformasjonen din og sender den til requests.post().
- Ordboknøklene må samsvare med
name-attributtene til inndatafeltene. - Verdiene er brukernavnet og passordet ditt.
urler skjemaetsaction-URL.
Grunnleggende innloggingsforsøk
Her er et enkelt eksempel på et innloggingsforsøk. Merk at du sannsynligvis blir logget ut umiddelbart etter forespørselen uten økthåndtering, fordi ingen informasjonskapsler blir lagret.
import requests
login_url = "http://httpbin.org/post" # Example URL
credentials = {
"username": "my_user",
"password": "my_password"
}
response = requests.post(login_url, data=credentials)
print(f"Status Code: {response.status_code}")
print("Response data (simulated):")
print(response.json().get('form'))Økter og informasjonskapsler for vedvarende innlogging
Etter en vellykket innlogging sender nettsteder vanligvis tilbake en informasjonskapsel. Denne lille datamengden lagres av nettleseren og sendes med påfølgende forespørsler for å fortelle serveren at du fortsatt er innlogget.
- Økt: En sammenhengende interaksjon mellom en bruker og et nettsted.
- Informasjonskapsler: Små tekstfiler som nettsteder bruker til å huske informasjon om deg.
- Avgjørende for å opprettholde innlogget tilstand ved besøk på flere sider.
Håndtere økter med `requests.Session()`
requests-biblioteket har et Session-objekt som håndterer informasjonskapsler automatisk for deg. Når du logger inn med et Session-objekt, inkluderer det autentiseringsinformasjonskapslene i alle påfølgende forespørsler som gjøres gjennom den samme økten.
- Opprett et
session-objekt:s = requests.Session(). - Bruk
s.post()til innlogging ogs.get()til påfølgende forespørsler. - Du trenger ikke å håndtere informasjonskapsler manuelt.
Logge inn med `requests.Session()`
Dette eksempelet viser hvordan du bruker requests.Session() til å opprettholde innlogget tilstand. Etter innlogging inkluderer øktobjektet automatisk informasjonskapslene i den påfølgende GET-forespørselen.
import requests
login_url = "http://httpbin.org/post" # Example login endpoint
dashboard_url = "http://httpbin.org/get" # Example page after login
credentials = {
"username": "my_user",
"password": "my_password"
}
with requests.Session() as s:
# First, post login data
login_response = s.post(login_url, data=credentials)
print(f"Login Status: {login_response.status_code}")
print(f"Cookies after login: {s.cookies.get_dict()}")
# Now, access a protected page using the same session
protected_page_response = s.get(dashboard_url)
print(f"Protected Page Status: {protected_page_response.status_code}")
print("Protected page content snippet:")
print(protected_page_response.text[:100])Kontrollere om innloggingen var vellykket
Hvordan vet du om boten faktisk logget inn? Det er viktig å kontrollere resultatet.
- Statuskode: En 200 OK betyr ofte at operasjonen var vellykket, men noen ganger skjer det omdirigeringer (for eksempel 302 Found).
- Omdirigeringer: Kontroller
response.historyfor å se om du ble omdirigert til et dashbord eller en profilsiden. - Sideinnhold: Se etter bestemt tekst som bare vises når du er innlogget (for eksempel "Welcome, [username]", en "Logout"-knapp eller at innloggingsskjemaet mangler).
Kontroll av økthåndtering
Du bygger en bot som skal logge inn på et nettsted og deretter gå til en profilside. Hvilke av følgende påstander om bruk av requests.Session() er riktige?
Oppsummering: Brukerautentisering
I denne leksjonen lærte vi hvordan vi bygger boter som kan logge inn på nettsteder for å få tilgang til beskyttet innhold.
- Vi gikk gjennom hvordan vi inspiserer innloggingsskjemaer for å finne action-URL-en og navnene på inndatafeltene.
- Vi brukte
requests.post()til å sende påloggingsinformasjon. - Viktigst av alt lærte vi å bruke
requests.Session()til å håndtere og bevare informasjonskapsler, slik at botene våre kan forbli innlogget og få tilgang til autentisert innhold. - Til slutt diskuterte vi hvordan vi kan bekrefte vellykkede innlogginger ved å kontrollere statuskoder, omdirigeringer og sideinnhold.
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Håndtering av brukerautentisering» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Nettskraping og boter, inkludert «Håndtering av brukerautentisering», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Nettskraping og boter inneholder totalt 4 leksjoner.
Hva lærer jeg i «Håndtering av brukerautentisering»?
Bygg boter som kan logge inn på nettsteder ved hjelp av påloggingsopplysninger, sesjonsbehandling og håndtering av informasjonskapsler. Du øver på Nettskraping og boter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Nettskraping og boter?
Ingen tidligere erfaring er nødvendig. Nettskraping og boter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Håndtering av brukerautentisering»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Nettskraping og boter-leksjonen?
Ja. Alle Nettskraping og boter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Håndtering av brukerautentisering
- Simulering av komplekse brukerreiser
- Integrering med API-er
- Administrere økter og informasjonskapsler