模拟登录新浪微博(Python)

模拟登录新浪微博(Python)

http://www.douban.com/note/201767245/?start=100&post=ok#last

模拟登录开源代码

https://github.com/Ncerzzk/weibo

微博加密方法

http://hi.baidu.com/enmzqbeadvfhiye/item/4018b4e7775cd3edfa42bad3
http://www.cnblogs.com/mouse-coder/archive/2013/03/03/2941265.html


libracharm
2015-03-19 19:09:58  libracharm

同问,这一段代码还能模拟登陆吗?需要做哪些改进呀?

TrampCR
2015-04-12 21:56:25  TrampCR
解决了,说来惭愧,在微博账号设置里增加一下在以下地点登录不需要验证码即可  Ncer

能给我发一份您的代码吗?新手学习了,谢谢,350478489@qq.com

Ncer
2015-04-16 22:05:15  Ncer
能给我发一份您的代码吗?新手学习了,谢谢,350478489@qq.com  TrampCR

不好意思,豆瓣不经常上,https://github.com/Ncerzzk/weibo

天青色~~
2012-05-14 17:17:03  天青色~~ (bon temps rouler)

顶~写的真好

马孔多
2012-05-16 14:43:16  马孔多 (Cedar 直待凌云始道高)

thank you~

superman
2012-05-21 09:34:03  superman

不错,正在试用!

earicleung
2012-05-25 10:03:43  earicleung

抓包后搜到这文,不错!!

seckcoder
2012-06-11 22:43:15  seckcoder

我很好奇, 你是怎么知道 
" username 经过了BASE64 计算", 
"password 经过了三次SHA1 加密, 且其中加入了 servertime 和 nonce 的值来干扰"的。 
莫非是新浪内部人员?

马孔多
2012-06-12 00:22:41  马孔多 (Cedar 直待凌云始道高)
我很好奇, 你是怎么知道 " username 经过了BASE64 计算", "password 经过了三次SHA1 加密,  ...  seckcoder

搜索引擎这么发达,方法总是有的

马孔多
2012-06-17 02:26:26  马孔多 (Cedar 直待凌云始道高)
该条回应已被删除  工体东路

识别验证码

乒乓球鸡蛋
2012-07-20 13:50:27  乒乓球鸡蛋

请问显示了“登陆成功”,可是用urllib2.Request('某用户主页'),显示的内容,仍然是请登录,什么情况

rjtsdl
2012-07-26 17:35:29  rjtsdl

模拟登陆之后,尝试在request个人的主页,不过得到的response跟页面显示的东西不一样。这是为什么呢?是因为之后还有其余的操作要做么,比如动态加载之类的操作。不太明白。。。

健一
2012-07-27 18:37:22  健一 (记录我的一些生活琐碎!)
模拟登陆之后,尝试在request个人的主页,不过得到的response跟页面显示的东西不一样。这是为什  ...  rjtsdl

模拟登陆成功,并返回cookie头信息,下次在request个人的主页时要将其用来配置头信息就可以正常获取了。

马孔多
2012-07-31 12:18:18  马孔多 (Cedar 直待凌云始道高)
模拟登陆成功,并返回cookie头信息,下次在request个人的主页时要将其用来配置头信息就可以正常  ...  健一

这个方法的确OK。 
或者将urllib2 install 包含cookie_handler的opener之后, 直接就可以访问了。

Mc Cheung
2012-08-29 13:48:23  Mc Cheung

现在加密好像变了。 不能登陆!

Mc Cheung
2012-08-29 16:30:12  Mc Cheung

weibo 加密的那个 js 文件是哪个? 

kxys422834
2012-09-06 15:58:14  kxys422834 (木有梦想就木有灵魂!)

楼主,post请求中的参数很多在form表单中找不到,请问一下这些参数是哪来的呢?

马孔多
2012-09-10 22:29:15  马孔多 (Cedar 直待凌云始道高)
楼主,post请求中的参数很多在form表单中找不到,请问一下这些参数是哪来的呢?  kxys422834

找个浏览器插件查一下就OK

孟婆汤
2012-09-12 11:33:44  孟婆汤

现在貌似不能用了??

马孔多
2012-09-12 21:59:18  马孔多 (Cedar 直待凌云始道高)
现在貌似不能用了??  孟婆汤

可能是新浪网页有变化,比如散列方法等

michaellyx
2012-09-23 16:17:21  michaellyx
搜索引擎这么发达,方法总是有的  马孔多

用chrome的”inspect element“,可以看到加密的逻辑,呵呵 

(爬虫新手,多多指教 ^_^) 

<script type="text/javascript" src="http://js.t.sinajs.cn/t35/miniblog/static/js/sso.js?version=23acb1a643a3d133"></script> 

password = sinaSSOEncoder.hex_sha1("" + sinaSSOEncoder.hex_sha1(sinaSSOEncoder.hex_sha1(password)) + me.servertime + me.nonce); // 空字符串为了避免各项全部是数字时造成数字相加而不是字符串链接的情况 

马孔多
2012-09-23 16:33:06  马孔多 (Cedar 直待凌云始道高)
用chrome的”inspect element“,可以看到加密的逻辑,呵呵 (爬虫新手,多多指教 ^_^) <  ...  michaellyx

nice

水石心鱼
2012-10-15 17:55:52  水石心鱼

ttp://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=dW5kZWZpbmVk&client=ssologin.js(v1.3.18)&_=1329806375939' 
这个是哪里获取的?

bdceo
2012-10-22 15:23:56  bdceo (人间正道是沧桑)
thank you~  马孔多

看了你的代码,我用java写了一个,过程基本一致,老是提示用户名密码不对,能帮忙看下吗?

马孔多
2012-11-15 10:40:47  马孔多 (Cedar 直待凌云始道高)
看了你的代码,我用java写了一个,过程基本一致,老是提示用户名密码不对,能帮忙看下吗?  bdceo

java 很久不用了...

小白狼
2012-11-16 16:34:44  小白狼

最近是不是不能用了?登录改版了吗?

周颠
2012-12-01 21:14:06  周颠

用不了了吗?

马孔多
2012-12-02 22:12:20  马孔多 (Cedar 直待凌云始道高)

各位豆友,关于程序现在是否还管用的问题,我实在是不能回答:当时需要模拟登录的功能,所以写了这个模块并将其分享,附上源码是为了大家看起来更方便、清楚。互联网站为了安全而更改登录协议(比如加密算法)是很正常且必要的行为,所以模拟登录不可能一劳永逸。所以如果现在需要这个模拟登录的功能,需要自己模仿上述方法来尝试就OK了;在下目前不需要该功能,不会对其维护。谢谢各位的支持~

mrluanma
2012-12-04 01:15:47  mrluanma (想看 Lua Programming Gems)

用requests库实现:https://gist.github.com/3621775

小白狼
2012-12-04 10:01:01  小白狼

@Zhao Xiaohong 这么强大?

马孔多
2012-12-05 13:31:50  马孔多 (Cedar 直待凌云始道高)
用requests库实现:https://gist.github.com/3621775  mrluanma

requests 的确是个好东西

ITBABY
2012-12-15 09:32:46  ITBABY

不错不错!必须多多学习!

ITBABY
2012-12-15 17:12:31  ITBABY

果然强大!

自来水
2012-12-18 21:16:54  自来水

有个问题想请教下楼主,我想下载某个作者的全部微博,但是微博在一页中是分段加载的,一页中有50条微博,但是只能下载15条左右。我尝试分析它加载时传递的参数,但是没能搞明白,不知道楼主尝试过没有

马孔多
2012-12-19 09:56:45  马孔多 (Cedar 直待凌云始道高)
有个问题想请教下楼主,我想下载某个作者的全部微博,但是微博在一页中是分段加载的,一页中有50  ...  自来水

既然只是想下载微博, 那么为何不用新浪API呢, 总归是比自己的网页爬虫快的。 
可以参考这个,写起来很简单: https://github.com/ghostrong/weibosdk

Godsoul
2012-12-29 13:42:36  Godsoul (vim神器啊!~)

在提交POST请求之前, 需要GET 获取两个参数。 
地址是:http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.18) 
得到的数据中有 "servertime" 和 "nonce" 的值, 是随机的,其他值貌似没什么用。 

博主,其他看懂的。这一步没看懂,是怎么获取的啊,我用httpfox和fiddler找get的包,都没找到啊,谢谢指教啊,post的包里su和sp我倒是看到了。

马孔多
2012-12-29 23:21:15  马孔多 (Cedar 直待凌云始道高)
在提交POST请求之前, 需要GET 获取两个参数。 地址是:http://login.sina.com.cn/sso/l  ...  Godsoul

新浪改版了;自己试试查看下别的地址吧。

坚果
2012-12-30 01:27:16  坚果

现在已经是 ssologin.js1.4.4 了,不过改改就能用。

康康
2013-01-05 22:13:19  康康

您好,有问题请教,给您留了豆邮,能否查看下?

daleshen1288
2013-01-09 21:10:44  daleshen1288

SHA1 只是做摘要,好像不能称为加密吧?就是英文digest,这些技术统统在http权威指南有介绍。

daleshen1288
2013-01-09 21:13:16  daleshen1288

再一个之所以有servertime 和 nonce,这些是server考虑到抗重放攻击和实际应用做的考虑。而这些都在HTTP权威指南有介绍。

daleshen1288
2013-01-09 21:15:31  daleshen1288

很不解的是,为什么对passwd做三次sha1摘要,一次就足够啦。

坚果
2013-01-11 19:26:28  坚果
很不解的是,为什么对passwd做三次sha1摘要,一次就足够啦。 daleshen1288

你看他的代码,不是对pwd做三次加密,而是每次都加其他salt组后后再加密。 
增加破解难度

马孔多
2013-01-16 02:38:15  马孔多 (Cedar 直待凌云始道高)
SHA1 只是做摘要,好像不能称为加密吧?就是英文digest,这些技术统统在http权威指南有介绍。  daleshen1288

的确算加密。但总归是为了密码安全性

艾欧里亚
2013-01-31 01:34:21  艾欧里亚

博主你好,我也想问你那个最终post参数里边的url的地址是怎么知道的呢?我现在需要在其他网站模拟,但不知道这个url从哪里知道?

Ncer
2013-01-31 09:49:17  Ncer

现在新浪默认的登录时rsa2,我说怎么密码有256位呢 把登录方式改一下登录成功

艾欧里亚
2013-02-01 11:34:17  艾欧里亚

博主你好,你上面说要retcode为0才是登录成功。我遇到retcode为404是什么原因呢?一样的代码在本地是模拟成功的不过在SAE上面就404了。。

能再无聊一点?
2013-02-19 16:05:16  能再无聊一点?

把这一行更改一下就可以了 
p = re.compile('location\.replace\(\'(.*?)\'\)') 
更改成: 
p = re.compile('location\.replace\(\"(.*?)\"\)') 
我刚试了一下。还可以登录成功。

dismissme
2013-02-22 15:54:48  dismissme

现在不能登陆了呢,貌似新浪登陆方式又改了

royripple
2013-02-22 20:06:40  royripple
现在新浪默认的登录时rsa2,我说怎么密码有256位呢 把登录方式改一下登录成功  Ncer

您好,请问您的这个“把登录方式改一下”是什么意思? 256的sp怎么算出来呢?

[已注销]
2013-02-22 21:00:16  [已注销]

貌似这一两天开始不能用wsse加密方式了,只能用rsa2了

dismissme
2013-02-23 11:44:35  dismissme
貌似这一两天开始不能用wsse加密方式了,只能用rsa2了  [已注销]

具体能说下么

mark
2013-02-25 13:51:07  mark

加密方式变了?

hardlife
2013-02-25 15:40:37  hardlife
貌似这一两天开始不能用wsse加密方式了,只能用rsa2了  [已注销]

请问你是如何知道使用的加密方式的???? 
目前新浪微博使用老方法登录不上去 很急阿。。。

hardlife
2013-02-25 15:47:24  hardlife
现在新浪默认的登录时rsa2,我说怎么密码有256位呢 把登录方式改一下登录成功  Ncer

求教 你是怎么知道登录时使用的加密方法,还有现在的登录方法,使用rsa怎么做的阿 菜鸟不会 。。。。

hardlife
2013-02-28 16:14:58  hardlife

折腾2天终于出来了 原来这么简单。。。

能再无聊一点?
2013-02-28 16:48:24  能再无聊一点?
折腾2天终于出来了 原来这么简单。。。  hardlife

你找到新的方法了?求解答呀,求共享。

马孔多
2013-02-28 17:37:14  马孔多 (Cedar 直待凌云始道高)

使用google + 猜测

孟婆汤
2013-02-28 19:50:42  孟婆汤
使用google + 猜测  马孔多

求分享……vipgss@gmail.com

青蚨侠
2013-02-28 21:50:05  青蚨侠
你找到新的方法了?求解答呀,求共享。  能再无聊一点?

求共享,QQ:382958619,求指导~~~

青蚨侠
2013-02-28 21:51:04  青蚨侠
现在新浪默认的登录时rsa2,我说怎么密码有256位呢 把登录方式改一下登录成功  Ncer

求指导,求共享,QQ:382958619

jenny_bm
2013-03-02 14:41:57  jenny_bm
折腾2天终于出来了 原来这么简单。。。  hardlife

跪求指导啊,您都改了些什么?邮箱:jenny_bm@163.com

solid
2013-03-04 18:13:47  solid

mark 

马孔多
2013-03-04 23:27:51  马孔多 (Cedar 直待凌云始道高)

纠结于频繁变换的加密机制的豆友,可以用这个naive的方法来模拟登录: 
http://www.douban.com/note/264976536/

马孔多
2013-03-04 23:32:50  马孔多 (Cedar 直待凌云始道高)
最近是不是不能用了?登录改版了吗?  小白狼

加密机制我没有时间时刻去关注,也许你可以采用这个方法:http://www.douban.com/note/264976536/

hardlife
2013-03-05 15:51:43  hardlife

以前留的url不见了。。。。。

hardlife
2013-03-05 15:57:17  hardlife
跪求指导啊,您都改了些什么?邮箱:jenny_bm@163.com jenny_bm

http://www.douban.com/link2?url=http%3A//hi.baidu.com/enmzqbeadvfhiye/item/4018b4e7775cd3edfa42bad3

jenny_bm
2013-03-06 00:22:24  jenny_bm
http://www.douban.com/link2?url=http%3A//hi.baidu.com/enmzqbeadvfhiye/item/4018b4e7775cd3e ...  hardlife

请问您的RSA是通过easy_install安装的还是exe文件拷贝过去,您用的python是哪个版本的,下的RSA又是针对哪个版本的?我用的2.6,easy_install安装完不能用,无论是import rsa还是from site-packages import rsa都提示unresolved import。小白一个,问题幼稚请多见谅包含~

hardlife
2013-03-06 10:51:34  hardlife
请问您的RSA是通过easy_install安装的还是exe文件拷贝过去,您用的python是哪个版本的,下的RSA  ...  jenny_bm

https://pypi.python.org/pypi/rsa/3.1.1 下载rsa-3.1.1.tar.gz (md5) 解压后 我的是linux 命令sudo python setup。py install

YoYoZhou
2013-03-18 23:36:01  YoYoZhou

使用RSA登录weibo的文章,python + RSA2 + Cookies, http://yoyzhou.github.com/blog/2013/03/18/sina-weibo-login-simulator-in-python/ 
文章基于上面的讨论(感谢),并且使用python实现。

darbra
2013-04-04 17:06:06  darbra (飘飘然怨嗟叹 常常悲伤是人间)

请问新浪微博登陆后 那些数据怎么爬 感觉源代码里没有那些想要的东西啊 要用到什么 三克油

lee.py
2013-05-08 19:35:32  lee.py

犀利,根据这篇文章的指示http://www.cnblogs.com/mouse-coder/archive/2013/03/03/2941265.html,目前登录还是成功的

桃乐丝
2013-07-21 17:33:08  桃乐丝 (特立独行的魔女)
有个问题想请教下楼主,我想下载某个作者的全部微博,但是微博在一页中是分段加载的,一页中有50  ...  自来水

我想请问一下你解决问题,可以获取全部的微博了吗?因为我之前用新浪微博的API受限制,但是还是需要能够获取全部的微博,不知道你有没有什么解决办法。

sharuke
2013-07-26 11:25:05  sharuke

已经登录了,但是抓某些页面,内容是返回到http://weibo.com/sorry?sysbusy 

这里还有什么陷阱?

咫尺天涯
2013-09-15 00:25:34  咫尺天涯 (人生苦短,我用python)

模拟登录老提示验证码错误,不知道哪里出了错

Oliver
2013-10-12 21:19:34  Oliver

必须顶一个,想模拟登录几个需要签到的网站,参考了~

Jerry不设防
2013-12-17 21:25:42  Jerry不设防 (ラブ レタ)

入门级菜鸟表示应该怎样知道login需要请求的url,,我查看元素了很久还是没找到>_<

留白予木
2014-01-30 08:47:49  留白予木
入门级菜鸟表示应该怎样知道login需要请求的url,,我查看元素了很久还是没找到>_<  Jerry不设防

network里 ,点击下面的红色● ,开始抓包 。然后你看到 post 200 的字样 ,点击 就可以看到了 response , headers 什么的 。

Jerry不设防
2014-01-30 09:14:29  Jerry不设防 (ラブ レタ)
network里 ,点击下面的红色● ,开始抓包 。然后你看到 post 200 的字样 ,点击 就可以看到了 r  ...  留白予木

喔喔谢谢一会去试试 

马孔多
2014-01-30 09:41:10  马孔多 (Cedar 直待凌云始道高)
入门级菜鸟表示应该怎样知道login需要请求的url,,我查看元素了很久还是没找到>_<  Jerry不设防

login 的都是POST请求,看一下那些POST 请求带有类似用户名/邮箱、密码的参数,对应的URL一般就是LOGIN需要的URL

AltenLi
2014-05-19 22:31:41  AltenLi (顺其自然=不奢求,不害怕)

登陆成功了~获取页面和每个微博也都搞定了,现在点赞/删除微博的时候,照post发过去,请求返回的都是系统繁忙,好奇怪 

Otaku
2014-05-19 23:26:47  Otaku
用chrome的”inspect element“,可以看到加密的逻辑,呵呵 (爬虫新手,多多指教 ^_^) <  ...  michaellyx

mark

Leo_O
2014-06-08 11:40:50  Leo_O

请教楼主,验证码问题怎么攻克呢?用cookie或者代理服务器有什么弊端?小白问题请见谅!

weiyuxiaoxiao
2014-06-21 16:59:50  weiyuxiaoxiao
登陆成功了~获取页面和每个微博也都搞定了,现在点赞/删除微博的时候,照post发过去,请求返回的  ...  AltenLi

能把你修改好的代码发一下吗? 我邮箱 xuxiuning@163.com 谢谢~~~

Leo_O
2014-07-09 16:18:30  Leo_O
能把你修改好的代码发一下吗? 我邮箱 xuxiuning@163.com 谢谢~~~ weiyuxiaoxiao

同求,谢谢

踏浪拾小贝
2014-07-12 09:44:20  踏浪拾小贝

急求帮助呀,Post得到的body是乱码呀,还有个问题我模拟登陆之后在请求别的url的时候是不是直接用同一个HTTPclient就行了,需要再添加Cookie吗?谢谢~

haodongxu
2014-07-15 22:43:48  haodongxu

现在这代码还能登陆吗?我改了账号密码,显示login error

水滴
2014-08-05 14:49:42  水滴
现在这代码还能登陆吗?我改了账号密码,显示login error haodongxu

我的也现实login error,后来你解决了吗?

水滴
2014-08-05 14:51:10  水滴
登陆成功了~获取页面和每个微博也都搞定了,现在点赞/删除微博的时候,照post发过去,请求返回的  ...  AltenLi

您好,请问,您就是用上面的代码登陆成功的吗?修改了吗?

马孔多
2014-11-20 20:16:34  马孔多 (Cedar 直待凌云始道高)

本文已许久没更新呢,新浪微博变化了加密方法的话,需要更改加密部分的代码

末日前一天
2014-11-24 11:18:11  末日前一天

请教一下,代码中的opener有何用处?是用来保存cookie吗?发现你后续代码中并没有使用opener了。如何能够实现完成模拟登录之后保存cookie完成后续访问呢?

LONG
2014-11-29 23:12:07  LONG

楼主人气太旺了,还是赶紧维护一下代码吧!

马孔多
2014-11-30 12:03:26  马孔多 (Cedar 直待凌云始道高)
楼主人气太旺了,还是赶紧维护一下代码吧!  LONG

有空放到github

Jilin
2015-01-23 19:18:36  Jilin

感谢分享,分析的很细致啊

Ncer
2015-02-10 22:32:16  Ncer

两年前用易语言模拟登录的时候来过这里,现在在学python,又来到这里了,呵呵 
找了一下最新加密的语句,没有细看,明天再看看 
d.su = sinaSSOEncoder.base64.encode(urlencode(a)); 
me.service && (d.service = me.service); 
if (me.loginType & rsa && me.servertime && sinaSSOEncoder && sinaSSOEncoder.RSAKey) { 
d.servertime = me.servertime; 
d.nonce = me.nonce; 
d.pwencode = "rsa2"; 
d.rsakv = me.rsakv; 
var e = new sinaSSOEncoder.RSAKey; 
e.setPublic(me.rsaPubkey, "10001"); 
b = e.encrypt([me.servertime, me.nonce].join("\t") + "\n" + b) 
} else if (me.loginType & wsse && me.servertime && sinaSSOEncoder && sinaSSOEncoder.hex_sha1) { 
d.servertime = me.servertime; 
d.nonce = me.nonce; 
d.pwencode = "wsse"; 
b = sinaSSOEncoder.hex_sha1("" + sinaSSOEncoder.hex_sha1(sinaSSOEncoder.hex_sha1(b)) + me.servertime + me.nonce)

Ncer
2015-02-11 22:04:31  Ncer

汗,弄了一晚上,一直是4049请输入验证码 
可是在前面prelogin的时候checkpin返回的showpin=0,也就是不需要验证码 
真恼火

Ncer
2015-02-11 22:18:29  Ncer
汗,弄了一晚上,一直是4049请输入验证码 可是在前面prelogin的时候checkpin返回的showpin=0,  ...  Ncer

解决了,说来惭愧,在微博账号设置里增加一下在以下地点登录不需要验证码即可

蜀山少年
2015-03-03 19:13:33  蜀山少年
两年前用易语言模拟登录的时候来过这里,现在在学python,又来到这里了,呵呵 找了一下最新加密  ...  Ncer

话说我看最新的http://login.sina.com.cn/sso/ssologin.js里关于加密的语句跟你这里列出来的一样,但是我具体加密之后得到的sp值和httpfox里观察到的值不一样啊。。你这里有额外进行什么处理了么?跪求解答啊。。。

蜀山少年
2015-03-03 20:39:42  蜀山少年
话说我看最新的http://login.sina.com.cn/sso/ssologin.js里关于加密的语句跟你这里列出来的一样  ...  蜀山少年

后来我发现虽然我测试算出来的和观察到的不一样,但是我代码最终还是能正常模拟登陆。。。不知道为啥。。。

Ncer
2015-03-08 23:51:01  Ncer
后来我发现虽然我测试算出来的和观察到的不一样,但是我代码最终还是能正常模拟登陆。。。不知道  ...  蜀山少年

里面有时间戳加入运算,每次都是不一样的

飘雪丹
2015-03-14 16:01:14  飘雪丹
现在这代码还能登陆吗?我改了账号密码,显示login error haodongxu

编程新手求解答:请问这个代码还能用么?为什么我怎么改都不行啊。课设急需,求解答,谢谢谢谢谢谢!!

飘雪丹
2015-03-14 16:53:33  飘雪丹

一直是login error,是加密算法的问题么?还想请问url是怎么看的?万分感谢!!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何使用 Python 模拟登录新浪微博。这是一个比较复杂的过程,需要使用到一些网络编程技术。以下是大致的步骤: 1. 打开新浪微博登录页面,获取登录页面的 HTML 代码。 2. 解析登录页面的 HTML 代码,获取登录所需的参数,如登录表单的 action、用户名和密码的 input 标签名称等。 3. 构造 POST 请求,将用户名和密码等参数以表单形式提交给登录表单的 action 地址。 4. 发送 POST 请求,获取登录后的页面 HTML 代码。 5. 解析登录后的页面 HTML 代码,判断登录是否成功。 以下是一个简单的示例代码,可以帮助您更好地理解该过程: ```python import requests from bs4 import BeautifulSoup # 1. 获取登录页面的 HTML 代码 login_url = 'https://weibo.com/login.php' response = requests.get(login_url) html = response.text # 2. 解析登录页面的 HTML 代码,获取登录所需的参数 soup = BeautifulSoup(html, 'html.parser') login_action = soup.find('form', attrs={'name': 'loginform'})['action'] login_username = soup.find('input', attrs={'name': 'username'})['name'] login_password = soup.find('input', attrs={'name': 'password'})['name'] # 3. 构造 POST 请求,将用户名和密码等参数以表单形式提交给登录表单的 action 地址 data = { 'username': 'your_username', 'password': 'your_password', 'savestate': '1', 'r': '', 'ec': '0', 'pagerefer': '', 'entry': 'mweibo', 'mainpageflag': '1' } post_url = f'https://weibo.com/{login_action}' response = requests.post(post_url, data=data) # 4. 发送 POST 请求,获取登录后的页面 HTML 代码 html = response.text # 5. 解析登录后的页面 HTML 代码,判断登录是否成功 soup = BeautifulSoup(html, 'html.parser') if soup.find('a', attrs={'title': '我的首页'}): print('登录成功') else: print('登录失败') ``` 需要注意的是,该示例代码中使用了 requests 库和 BeautifulSoup 库,需要安装后才能运行。此外,登录过程可能会因为验证码等原因而变得更加复杂,需要您自行处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值