标签:
Requests提交数据的时候关键代码如下:
1.data={"mobile":"XXXXXXX",
2. password:"XXXXXX",
3. ..............,
4. }
5.Html=requests.post(url,data=data)
password是个变量,不是字符串
还是对上次的页面分析,http://weibo.cn/u/1890493665回车之后还是跳转到登录页面。
打开F12 审查元素,Network功能。填入用户名密码登录,得到下面表单内容:
password_8596后面的数字是什么?还有backURL会不会改变?vk又是什么?
现在退出重新登录一下。
重新登录的URL:http://login.weibo.cn/login/?ns=1&revalid=2&backURL=http%3A%2F%2Fweibo.cn%2F&backTitle=%CE%A2%B2%A9&vt=4
,记录一下
源代码查找一下
发现,虽然password_后面的数字,backURL,vk每次登录都会变化,但是其值在源代码是有体现的
另外注意
action后面的字符串也是要加入我们后面写的代码中的
登陆一下,POST的URL为:
http://login.weibo.cn/login/?rand=245133002&backURL=http%3A%2F%2Fweibo.cn%2F&backTitle=%E5%BE%AE%E5%8D%9A&vt=4&revalid=2&ns=1
发现http://login.weibo.cn/login/
后面的参数就是刚才action的参数
新的表单数据变化跟刚才审查元素查找的一样
首先把参数提取出来
1.# -*- coding: UTF-8 -*-
2.import requests
3.from lxml import etree
4.
5.url=‘http://weibo.cn/u/1890493665‘
6.url_login=‘http://login.weibo.cn/login/‘
7.
8.html=requests.get(url).content
9.selector=etree.HTML(html)
10.password=selector.xpath(‘//input[@type="password"]/@name‘)[0]
11.vk=selector.xpath(‘//input[@name="vk"]/@value‘)[0]
12.action=selector.xpath(‘//form[@method="post"]/@action‘)[0]
13.print action
14.print password
15.print vk
运行结果:
1.[KANO@kelvin 桌面]$ python spider_login.py
2.?rand=310966637&backURL=http%3A%2F%2Fweibo.cn%2Fu%2F1890493665&backTitle=%E5%BE%AE%E5%8D%9A&vt=1&revalid=2&ns=1
3.password_4955
4.4955_45f6_1946108923
提取成功
下面进行模拟登录
1.# -*- coding: UTF-8 -*-
2.
3.import requests
4.from lxml import etree
5.
6.url=‘http://weibo.cn/u/1890493665‘
7.url_login=‘http://login.weibo.cn/login/‘
8.
9.html=requests.get(url).content
10.selector=etree.HTML(html)
11.password=selector.xpath(‘//input[@type="password"]/@name‘)[0]
12.vk=selector.xpath(‘//input[@name="vk"]/@value‘)[0]
13.action=selector.xpath(‘//form[@method="post"]/@action‘)[0]
14.print action
15.print password
16.print vk
17.
18.new_url=url_login+action
19.data={
20. ‘mobile‘:‘125439083@qq.com‘,
21. password:‘XXXXXXXXXXXX‘,
22. ‘remember‘:‘on‘,
23. ‘backURL‘:‘http://weibo.cn/u/1890493665‘,
24. ‘backTitle‘:u‘微博‘ ,
25. ‘tryCount‘:‘‘,
26. ‘vk‘:vk,
27. ‘submit‘: u‘登录‘
28.}
29.
30.newhtml=requests.post(new_url,data=data).content
31.new_selector=etree.HTML(newhtml)
32.#print newhtml.content
33.content=new_selector.xpath(‘//span[@class="ctt"]‘)
34.for each in content:
35. text=each.xpath(‘string(.)‘)
36. b=1
37. print text
运行一下,
1.[KANO@kelvin 桌面]$ python spider_login.py
2.?rand=344620797&backURL=http%3A%2F%2Fweibo.cn%2Fu%2F1890493665&backTitle=%E5%BE%AE%E5%8D%9A&vt=1&revalid=2&ns=1
3.password_5695
4.5695_d14f_2020110549
5.spring0315 女/北京 加关注
6.做一个快乐、阳光的女汉子~~
7.外国一个姑娘讲述她在购物时经历的一件事 ,听哭了。“你永远不知道别人经历了什么,人生有时候很艰难,尊重别人也是尊重自己”[悲伤]http://t.cn/R4hPlJR
8.[礼物]这个双11极客学院最惠玩儿,促销来得最直接![强]VIP不止买一送一哦,11.11当天还送小米插线板!我已参加,你呢?大促仅限3天,错过不要怪我咯~[微笑] http://t.cn/RUxzrfS
9.最近油管上超火的Tez Cadey - Seve Mongolian Guys舞步分解,好酷好想学!http://t.cn/RyXJF5P
10.如何将一间39平米的公寓改造为集八间独立功能的房间于一身?简直吊炸天!http://t.cn/RykoB1r
11.【转发赠书】#每当我找到生命的意义,它就又变了#这不是一本书,而是一个哲学摘抄本。字迹潦草或抄写工整,如何生活的问题在其中活蹦乱跳。从伊壁鸠鲁到尼采,从叔本华到萨特,《纽约时报》超级畅销书作家丹尼尔·克莱恩用39条哲学金句揭示生命意义。转发并关注@十点读书会,送15本,10.14截止。
12.【转发赠书】很多人在二三十岁就死了,只不过八十岁才埋葬。《别让我们在二三十岁就死去》无数台湾学生酣畅点赞的【人渣文本】.不管你是渣是霸,这本由【最具炫酷态度的台湾老师】周伟航所著,#高含量 智识与尊重#的人生热血使用指南送给还年轻着的你.转发并关注@十点读书会,15本随机送,10.12日晚截止.
13.【9个做人的硬道理[群体围观]】①只有小聪明永远无法超人一等; ②多点看问题,就不会有死路;③绝不说不该说的话;④用心做可能改变一生的事; ⑤想尽一切办法不与上司磕绊;⑥培养优良个性即对自己负责任;⑦为人坦诚但不能不分对象;⑧总与人较劲,等于给自己留后患;⑨做大自己,低头走稳每一步。
14.这句话很有意思:“如果我们感情变了怎么办?”“分手,我重新追你。”[嘻嘻]
15.要劵 [嘻嘻]@一米鲜
16.#发现新鲜#幸福其实很简单:有人爱; 有事做;有所期待。今天,你幸福吗?http://t.cn/Ry4Deiq
这就完成了模拟登录新浪微博~
标签:
原文地址:http://www.cnblogs.com/XBlack/p/5061416.html