gpt4 book ai didi

python - 使用 python requests 模块在 Github 中创建经过身份验证的 session

转载 作者:太空宇宙 更新时间:2023-11-03 14:48:46 26 4
gpt4 key购买 nike

我的目标是在 github 中创建经过身份验证的 session ,以便我可以使用高级搜索(这将功能限制为未经身份验证的用户)。目前,我收到来自帖子请求的网页响应“什么?您的浏览器执行了意外操作。如果问题仍然存在,请联系我们。”

这是我用来尝试完成任务的代码。

import requests
from lxml import html

s = requests.Session()
payload = (username, password)
_ = s.get('https://www.github.com/login')
p = s.post('https://www.github.com/login', auth=payload)

url = "https://github.com/search?l=&p=0&q=language%3APython+extension%3A.py+sklearn&ref=advsearch&type=Code"
r = s.get(url, auth=payload)
text = r.text
tree = html.fromstring(text)

我正在尝试的可能吗?我不想使用 github v3 api,因为它的速率有限,而且我想自己做更多的高级搜索抓取工作。谢谢。

最佳答案

正如评论中提到的,github 使用发布数据进行身份验证,因此您应该在 data 中拥有您的信用信息。参数。
您必须提交的元素是 'login''password''authenticity_token''authenticity_token' 的值是动态的,但您可以从 '/login' 中抓取它。
最后将data提交到/session,您应该拥有一个经过身份验证的 session 。

s = requests.Session()
r = s.get('https://www.github.com/login')
tree = html.fromstring(r.content)
data = {i.get('name'):i.get('value') for i in tree.cssselect('input')}
data['login'] = username
data['password'] = password
r = s.post('https://github.com/session', data=data)

关于python - 使用 python requests 模块在 Github 中创建经过身份验证的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com