Connexion à LinkedIn avec python demandes de sessions
J'essaie de me connecter sur LinkedIn à l'aide de Python demandes:
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')
Je ne peux pas me connecter à l'aide de cette méthode. J'ai même essayé de jouer avec csrf etc. dans la charge utile, mais ne sont pas des séances censé prendre soin de cela pour vous?
Remarque sur la dernière ligne: - je utiliser le titre pour vérifier si j'ai bien connecté. (Je devrais voir "Bienvenue! | LinkedIn" si j'ai signé à, à la place je vois "le Plus grand du Monde Professional Network | LinkedIn"
Suis-je raté quelque chose?
- developer.linkedin.com/apis quelque Chose de mal avec l'utilisation de leur API?
Vous devez vous connecter pour publier un commentaire.
J'ai modifié le web scraping modèle que j'utilise pour la plupart de mes basé sur Python grattage besoins en fonction de vos besoins. Vérifié, il a travaillé avec mes propres informations de connexion.
La façon dont cela fonctionne est par imiter-ing un navigateur et le maintien d'un cookieJar que les magasins de votre session d'utilisateur. L'ai eu à travailler avec BeautifulSoup pour vous en tant que bien.
Remarque: C'est un Python2 version. J'ai ajouté un travail Python3 exemple ci-dessous par la demande.
Mise à jour le 19 juin 2014: Ajouté analyse de jeton CSRF de la page d'accueil pour une utilisation dans les mises à jour du processus de connexion.
Mise à jour le 23 juillet 2015: l'Ajout d'un Python 3 exemple ici. Nécessite fondamentalement la substitution des emplacements de la bibliothèque et de la suppression des méthodes obsolètes. Il n'est pas parfaitement formaté ou quoi que ce soit, mais il fonctionne. Désolé pour la ruée vers l'emploi. En fin de compte les principes et les étapes sont identiques.
<title>World's Largest Professional Network | LinkedIn</title>
- toute personne en mesure de m'aider?title = self.loadTitle()
etprint title
, vous pouvez ajouter votre propre code. Est-ce que le titre que l'impression n'est pas celle que vous attendez?html = self.loadPage("https://www.linkedin.com/")
àhtml = self.loadPage("https://www.linkedin.com/uas/login-submit")
devrait résoudre le problème. Pourriez-vous laissez-moi savoir si cela fonctionne si je peux modifier ma réponse? Ce qu'il fait est le chargement d'un premier formulaire de connexion si le serveur émet un jeton CSRF que nous sommes en tirant pour notre cookie jar. Ils semblent avoir déplacé ce formulaire pour une nouvelle page.https://www.linkedin.com/uas/login-submit
ne fonctionne plus. Je l'ai eu à travailler avechttps://www.linkedin.com/uas/login
.C'est une version beaucoup plus simple.
L'OP solution a fonctionné pour moi avec seulement une très légère modification.
Changement "clé de session" à "session_key" et changez "session-mot de passe" pour session_password.'
Autre que cela, le code est bon comme il est.