模拟登陆,首先要知道提交页面的网址,和每次post的内容,采用chrome的浏览器的开发者工具,查看。得到下图
可以看到提交的内容包括”csrfmiddlewaretoken”、”login”、”password”,后两个是用户名和密码,第一个应该是一中验证机制,每次打开页面都会随机生成一个,果不其然,在网页的代码中找到
这样,我们只要每次把登陆界面的csrf值扣出来,然后放到和用户名,密码放到一个字典中,就可以了。这里取csrf值的方式使用了beautifulsoup这个库,先得到一个beautifulSoup对象,参数是网页的源码,和使用的解析模式
url = "https://leetcode.com/accounts/login/"
content = gethtml(url)
soup = BeautifulSoup(content,"html.parser")
beautifulsoup的使用非常简单,我们通过上面可以看到csrf值是在一个input tag中,可以直接用下面的代码获得。

本文介绍了如何使用Python模拟登录LeetCode的过程,通过Chrome开发者工具获取POST所需数据,包括用户名、密码和动态生成的csrfmiddlewaretoken。利用BeautifulSoup解析HTML获取csrf值,但遇到403错误,原因是LeetCode的csrf不在页面源码中,而是在GET响应中。完整代码示例给出。
最低0.47元/天 解锁文章
620

被折叠的 条评论
为什么被折叠?



