python登陆网站,python urllib2 登陆网站
By:Roy.LiuLast updated:2012-08-13
在做文章采集时,或者对某些网站进行灌水处理时,通常需要登录才可以查看内容。
在这种情况下,就需要先在网站上注册一个账号,然后利用这个账号进行登录。 如果想用 python 自动注册账号也行,但现在的网站注册,一般都开启了 email 邮箱验证激活,暂时还不好处理,所以本文假设的前提是在已经有账号的情况下,如何利用python 去登陆网站。
另外还没有考虑到验证码的情况,如果是图片验证码,就有点麻烦。特别是中文图片验证码,暂时不考虑。
比如要登陆这个网站:http://www.asp300.com/2012user/login.jsp
首先用firebug 或其他工具分析其结构.
可以看到需要的字段 username,password, loginsubmit 登陆按钮.
下面就可以用python urllib2 来登陆,代码如下:
在这种情况下,就需要先在网站上注册一个账号,然后利用这个账号进行登录。 如果想用 python 自动注册账号也行,但现在的网站注册,一般都开启了 email 邮箱验证激活,暂时还不好处理,所以本文假设的前提是在已经有账号的情况下,如何利用python 去登陆网站。
另外还没有考虑到验证码的情况,如果是图片验证码,就有点麻烦。特别是中文图片验证码,暂时不考虑。
比如要登陆这个网站:http://www.asp300.com/2012user/login.jsp
首先用firebug 或其他工具分析其结构.
可以看到需要的字段 username,password, loginsubmit 登陆按钮.
下面就可以用python urllib2 来登陆,代码如下:
#coding:GB2312 ''' Created on 2012-7-30 @author: Administrator ''' import cookielib import urllib2 import urllib cj = cookielib.CookieJar() headers = { 'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6' } opener = urllib2.build_opener( urllib2.HTTPCookieProcessor(cj) ) #====你注册的用户名,密码================ login_data = urllib.urlencode( {'username' : 'yihaomen', 'password' : 'mypassword','loginsubmit':' 登 录 ' }) page = opener.open( 'http://www.asp300.com/2012user/login.jsp', data = login_data ) print page.read() page.close() #===登陆之后,做你想做的事情,采集,灌水等处理. 这里是下载。 page=urllib2.urlopen('http://www.asp300.com/2012dll/Down.jsp?CodeID=43467&id=2') print page.read() page.close()
From:一号门
Previous:一套东亚银行的系统UI, 登录,主界面原型(附HTML文件)
COMMENTS