使用python获取网页中指定数据

文章内容:

  1. 使用python读取网页内容
  2. python使用cookie
  3. python输出制表符
  4. ...
为了体验某款游戏的玩法,我最近在玩一款游戏。(各位看官权且相信~~(>_<)~~) 游戏账户的余额需要登陆网页查询,普通玩家有1,2个账户没什么,但是我有几十个账号~~(>_<)~~  查询一次会非常耗费时间,于是萌生了写一个脚本统一进行查询的想法。刚好最近又在学习python,就用python写练手了~  
目前python初学者,代码拙劣之处欢迎批评(*^__^*) 

查看登陆页面的源码,发现如下代码(无关部分我已经删掉了):


	

找到了关键点,我们来构造url测试一下:

https://url0.com/logins.jsp?type=1&product=pointcard&
username=testuser&
password=testpass&
url=http://url1.com/servlet/controller?operation=login&type=URS

直接在浏览器中访问这个地址,成功跳出了显示余额的界面。准备工作做好,接下来python搞起。

import urllib2

url = #上面构造好的url
content = urllib2.urlopen(url).read()
print content

这里返回了一个中转页面,直接用上面的代码再跳转一次。好吧又返回了另一个中转页面,再用上面的代码跳转一次,这次返回了登陆页(⊙﹏⊙)b
为什么返回登陆页呢? 好吧,这里我忘记使用cookie了(;′⌒`)

python使用cookie的方式非常简单,只要在开头加上如下代码,之后每次 urlopen 都会带上cookie:

import urllib
import cookielib

from sgmllib import SGMLParser

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

使用cookie之后再用上面的代码访问网页,跳转2次, 成功返回了查询余额的页面!
这里我直接用了切割字符串的方式找到需要的余额(代码太难看就不贴上来了(⊙﹏⊙)b, 等功力加深了再来这里修改) 

好到这里我们已经得到想要的结果了,把要查询的账号用list存下来,然后for循环里调用查询输出就可以啦。

最后~

为了输出的结果好看一点,我们加上制表符:

#┌───────────────┐
#│               │
#├───────────────┤
#│               │
#└───────────────┘

就是这个样子啦,但是直接输出的话会出来乱码,解决方法是在开头加上 # -*- coding: utf-8 -*-   这个是用来声明编码格式。然后输出的语句这样写:

# -*- coding: utf-8 -*-
print '\t├───────────────┤'.decode('utf-8')



这样就搞定了(*^__^*) 

你可能感兴趣的:(python,python,cookie)