python-requests 如何通过 linkedin 验证?

2014-07-22 16:07:13 +08:00
 leafonsword
我想抓取linkedin上的页面,但如下代码却无法通过登录验证:
```
#/usr/bin/env python3
import requests
from bs4 import BeautifulSoup


payload = {
'session-key': '我的账户',
'session-password': '我的密码'
}

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

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

```
请问哪里出了问题?
6386 次点击
所在节点    Python
13 条回复
cdwyd
2014-07-22 16:23:37 +08:00
很少有直接一个用户名+密码就能登陆的吧。
post里面应该还有csrf token什么的字段吧
leafonsword
2014-07-22 16:58:41 +08:00
@cdwyd
python不熟,能帮我把linkedin的登陆试出来吗?谢谢!
est
2014-07-22 17:09:08 +08:00
@leafonsword 首先,你得有一个24k镀金的肥皂。
wenLiangcan
2014-07-22 18:00:27 +08:00
有些名称什么的好像错了
session_key
session_password
URL = 'https://www.linkedin.com/uas/login-submit'

不过我没试哦。。。
cdwyd
2014-07-22 18:52:49 +08:00
import requests
from bs4 import BeautifulSoup

s = requests.session()
r = s.get('https://www.linkedin.com/')
soup = BeautifulSoup(r.text)
loginCsrfParam = soup.find('input', id = 'loginCsrfParam-login')['value']
csrfToken = soup.find('input', id = 'csrfToken-login')['value']
sourceAlias = soup.find('input', id = 'sourceAlias-login')['value']


payload = {
'session_key': 'user@qq.com',
'session_password': 'pass',
'loginCsrfParam' : loginCsrfParam,
'csrfToken' : csrfToken,
'sourceAlias' : sourceAlias
}


s.post('https://www.linkedin.com/uas/login-submit', data=payload)
print(s.get('http://www.linkedin.com/nhome').text)
leafonsword
2014-07-22 20:28:26 +08:00
@cdwyd
谢谢
leafonsword
2014-07-22 20:28:55 +08:00
@est
禽兽
leafonsword
2014-07-22 20:30:09 +08:00
@est
看看人家@cdwyd,多好,给出代码了
iptux
2014-07-22 20:36:58 +08:00
已block不谢
zjgood
2014-07-22 20:49:27 +08:00
@iptux b就b了,说出来好伤人。不要打击新人。唉,中国人的劣根性,你我都差不多,不过我在尽量改正。
est
2014-07-22 20:53:55 +08:00
@leafonsword 好吧。伸手也会偶尔碰到一个答案的。已block
leafonsword
2014-07-24 19:53:55 +08:00
@iptux @est
”已block“什么意思?
bnpysse
2015-02-21 11:06:53 +08:00
@cdwyd 不错地说!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/123945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX