前段时间发现一个不错的网站,上面有非常多的我喜欢的mp3歌曲,因为歌曲的下载地址分布在各个子页面上,我便写了一个python脚本用来抓取各个页面的mp3下载地址自动整理下载。但是遇到一个小问题,网站需要id登陆才可以打开页面并下载。后来xyb给了两种登陆代码可以实现我要的功能。后来我又看了一下python2.3的lib ref文档,发现其实用httplib就可以实现,代码如下:
# loginbbs.py import urllib,httplib params = urllib.urlencode({'username':'pytest', #此处为要post的登陆参数,你可以修改为你自己的参数 'password':'pypassword', 'Cookies_Time': 1, 'IsLogin':True}) headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} #构建headers conn = httplib.HTTPConnection("music.popv.net:80") #建立http连接,记得地址不要加'http://'且要加上port conn.request("POST",http://music.popv.net/popv/login.asp, params, headers) #发送登陆请求 response = conn.getresponse() #获得回复 print response.status, response.reason #获得请求状态 data = response.read() #获得登陆后的网页内容 conn.close() #关闭连接 
|