首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用登录进行刮擦

用登录进行刮擦
EN

Stack Overflow用户
提问于 2017-05-02 03:47:27
回答 2查看 1.3K关注 0票数 0

我试图使用python请求登录站点,但似乎无法使用下面的代码登录:

代码语言:javascript
复制
import requests

session = requests.Session()
data = {'j_username': 'name@gmail.com'}
session.post('http://www.broadinstitute.org/gsea/login.jsp', data=data)
r = session.get('http://www.broadinstitute.org/gsea/msigdb/genesets.jsp?
collection=CP:BIOCARTA')
print(r.content)

不过,我不相信我在这里做错了什么,因为我在网上跟踪了一些帖子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-02 05:04:41

了解它需要什么的最好方法是打开调试器控制台并单击网络选项卡,查看当您填写电子邮件并单击登录时会发生什么。是的,它只接收电子邮件,但在内部,它也发送另一个参数。

请看:您可以看到您需要的参数是什么以及名称是什么:

您需要传递:j_username和j_ j_username:‘password’,其中j_username是您键入的用户名。

另一个问题是:您的post请求应该在这里传递数据:http://software.broadinstitute.org/gsea/j_spring_security_check

看起来您不知道如何使用.All元素--这些图像来自images window.Use,

票数 0
EN

Stack Overflow用户

发布于 2017-05-02 05:01:04

登录页面中有一个隐藏的输入字段,即“j_password”,其值为常量“密码”。你不应该发到login.jsp,而应该发到那个url:检查

代码语言:javascript
复制
import requests

session = requests.Session()
data = {'j_username': 'name@gmail.com', 'j_password': 'password'}
session.post('http://software.broadinstitute.org/gsea/j_spring_security_check', data=data)
r = session.get('http://www.broadinstitute.org/gsea/msigdb/genesets.jsp?collection=CP:BIOCARTA')
print(r.content)

我使用一个名为费德勒的程序来帮助我了解后台发生的事情。这真的很有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43729793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档