最近需要实现获取个人京东订单信息的功能,利用了requests+beautifulsoup来实现。
requests是python的第三方库,相比之前常用的python标准库中的urllib2,requests简直不要好用太多,具体实现思路是,首先使用firefox+firebug找到京东登陆所需要的信息,利用requests的get获取需要模拟登陆的信息,post之后获取cookie,然后带着cookie访问相应订单的网页就可以得到订单信息了。
打开京东登陆的网页,使用账户登陆京东,在firebug上查看传递的参数
loginname是登陆的用户名,loginpwd和nloginpwd都是登陆的密码。以machine开头的三个参数传递参数为空,authcode是验证码,如果京东检测到你登陆状态有异常就会提示输入验证码。
经过测试,我们需要获取的参数有uuid、-t、和eAHDKkiNwP三个参数
回到京东登陆界面寻找这三个参数,在登陆界面的源代码中可以看到有个id名称为formlogin的form标签
正好全部包含了登陆需要传递的参数,利用Beautifulsoup将对于name的value提取出来,放在构造post信息的字典中,将构造