Einloggen, um LinkedIn-mit python-requests-Sitzungen
Ich versuche ein log-in auf LinkedIn über die Python-requests:
import sys
import requests
from BeautifulSoup import BeautifulSoup
payload={
'session-key' : '[email protected]',
'session-password' : 'password'
}
URL='https://www.linkedin.com/uas/login-submit'
s=requests.session()
s.post(URL,data=payload)
r=s.get('http://www.linkedin.com/nhome')
soup = BeautifulSoup(r.text)
print soup.find('title')
Ich kann nicht scheinen, um sich mit dieser Methode. Ich habe sogar versucht das Spiel mit csrf-etc. in der Nutzlast, aber nicht die Sitzungen aufpassen sollen, dass für Sie?
Anmerkung zur letzten Zeile: ich habe den Titel verwenden, um zu überprüfen, ob ich erfolgreich eingeloggt. (Ich sollte "Willkommen! | LinkedIn", wenn ich angemeldet haben, stattdessen sehe ich "Weltweit Größte Berufliche Netzwerk | LinkedIn"
Bin ich etwas fehlt?
developer.linkedin.com/apis Nichts falsch mit der Verwendung Ihrer API?
InformationsquelleAutor mirri66 | 2013-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Modifizierte ich eine web-scraping-Vorlage, die ich für die meisten meiner Python-basiert kratzen muss zu Ihren Bedürfnissen passen. Überprüft, es funktionierte mit meinen eigenen login-info.
Die Weise, die es funktioniert, ist durch nachahmen-ing browser und die Aufrechterhaltung eines cookieJar, in der Ihre Benutzer-Sitzung. Habe es auf Arbeit mit BeautifulSoup für Sie als gut.
Hinweis: Dies ist ein Python2-version. Ich fügte hinzu, eine funktionierende Python ist3 Beispiel weiter unten auf Anfrage.
Update 19. Juni 2014: Hinzugefügt parsing für CSRF-token von der homepage für den Einsatz in aktualisierter login-Prozess.
Update 23. Juli 2015: Hinzufügen eines Python 3 Beispiel hier. Grundsätzlich erfordert die Substitution von Standorten und entfernen von veralteten Methoden. Es ist nicht perfekt formatiert oder irgendetwas, aber es funktioniert. Sorry für die rush-job. Am Ende sind die Prinzipien und Schritte sind identisch.
<title>World's Largest Professional Network | LinkedIn</title>
- jemand in der Lage mir zu helfen?wo sehen Sie die Linien:
title = self.loadTitle()
undprint title
werden Sie wollen, fügen Sie Ihre eigenen code. Ist es, dass der Titel, der Druck ist nicht die, die Sie erwarten?Ja, ich bin noch immer der logged-out-homepage (Titel I eingefügt oben), statt das man, wenn jemand eingeloggt ist. Ich glaube nicht, dass der login wird durch den für mich?
Ich habe das gleiche problem wie Cian. Ist es möglich, dass sich etwas verändert über die LinkedIn-Authentifizierung in den letzten Monaten?
Aktualisiert code, um Platz für Veränderungen zu LinkedIn-login-Prozess, der erfordert nun ein CSRF-token.
InformationsquelleAutor garromark
Dies ist eine viel einfachere version.
Lassen Sie mich anders formulieren --- ich bin neugierig, warum brauchen wir diese -- csrf - = - Suppe.find(id="loginCsrfParam-login")['Wert'] aus. Ich kann nicht finden, es in den Kopfzeilen der Anfrage beim Check in Chrome?
Dieser arbeitete für mich!
print-Suppe.find(id="loginCsrfParam-login")['Wert'] TypeError: 'NoneType' - Objekt hat kein Attribut 'getitem' Nicht in der Lage zu bekommen csrf-Wert. Können Sie mir helfen?
InformationsquelleAutor Morgan Allen
Den OP ' s Lösung hat bei mir mit nur eine sehr leichte änderung.
Ändern "session-key" zu "session_key" und ändern Sie "session-Passwort", um session_password.'
Andere als das, der code ist gut so, wie es steht.
InformationsquelleAutor Scott N