我如何使用python-request来获取一个linkedin页面?

时间:2014-07-22 06:25:34

标签: python linkedin python-requests

我使用下面的代码尝试抓取一个链接的页面,但似乎这个方法不能让我登录,只是告诉我未经授权的主页。

#/usr/bin/env python3
import requests
from bs4 import BeautifulSoup


payload = {
'session-key': 'my account',
'session-password': 'my password'
}

URL = 'https://www.linkedin.com/uas/login'
s = requests.session()
s.post(URL, data=payload)

r = s.get('http://www.linkedin.com/nhome')
soup = BeautifulSoup(r.text)
print(soup)

`

1 个答案:

答案 0 :(得分:1)

这远远超过你迄今为止所做的那些 。

您需要执行以下操作:

您可以通过打开chrome / firefox中的开发人员工具并浏览网络标签中的登录过程来查看整个过程。

这样的事情应该有效:

import requests
from bs4 import BeautifulSoup

# Get login form
URL = 'https://www.linkedin.com/uas/login'
session = requests.session()
login_response = session.get('https://www.linkedin.com/uas/login')
login = BeautifulSoup(login_response.text)

# Get hidden form inputs
inputs = login.find('form', {'name': 'login'}).findAll('input', {'type': ['hidden', 'submit']})

# Create POST data
post = {input.get('name'): input.get('value') for input in inputs}
post['session_key'] = 'username'
post['session_password'] = 'password'

# Post login
post_response = session.post('https://www.linkedin.com/uas/login-submit', data=post)

# Get home page
home_response = session.get('http://www.linkedin.com/nhome')
home = BeautifulSoup(home_response.text)