|
20鱼币
# -*- coding:gbk -*-
import json
import urllib
import urllib2
import cookielib
import datetime
import operator
import string
import threading
import time
import traceback
import hashlib
import sys
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
first = 0
def do_login():
timestamp = int(time.time())
# print timestamp
# return
m2 = hashlib.md5()
m2.update('此处输入密码')
pwd = m2.hexdigest()
postdata = urllib.urlencode({
'loginType': 'user',
'logonUsername': '此处输入用户名',
'password': pwd,
'timeStamp': timestamp,
'rememberType': '30',
'verificationCode': '',
})
req = urllib2.Request(
url='https://www.tzbao.com/auth/loginSubmit',
data=postdata
)
try:
result = opener.open(req)
print result.geturl()
print '登录:ok'
# result.read()
except urllib2.HTTPError, e:
print e.code, e.read()
do_login()
以上为python2.7的网页登陆文件,输入用户名,密码后可以成功登陆。
我打算用54讲的课后作业改为python 3程序。
import urllib.request
import http.cookiejar as hcj
import urllib.parse
import PIL
# -*- coding:gbk -*-
import json
import urllib.request
# import urllib2
# import cookielib
import datetime
import operator
import string
import threading
import time
import traceback
import hashlib
import sys
loginurl = 'https://www.tzbao.com/auth/loginSubmit'
cookie = hcj.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
def do_login():
timestamp = int(time.time()*1000)
# print timestamp
# return
m2 = hashlib.md5()
m2.update('此处输入密码'.encode('utf-8'))
pwd = m2.hexdigest()
data = {
'loginType': 'user',
'logonUsername': '此处输入用户名',
'password': pwd,
'timeStamp': timestamp,
'rememberType': '30',
'verificationCode': '',
}
req = opener.open(loginurl, urllib.parse.urlencode(data).encode('utf-8'))
if req.geturl() == 'https://www.tzbao.com/index':
print(req.geturl())
print(req.geturl())
do_login():
感觉登陆不成功,因为并没有访问到成功登陆后能访问的内容,请问程序应如何修改。还有有什么简单的办法判断登陆是否成功呢?
因为用户名,密码涉及个人信息,没有发布。
可以通过以下链接注册获得用户名,密码编写调试程序:
http://www.tzbao.com/register?referrerCode=TZB006709
- import requests
- import datetime
- import operator
- import string
- import threading
- import time
- import traceback
- import hashlib
- import sys
- login_url = 'https://www.tzbao.com/auth/loginSubmit'
- def do_login():
- timestamp = int(time.time()*1000)
- m2 = hashlib.md5()
- m2.update('此处输入密码'.encode('utf-8'))
- pwd = m2.hexdigest()
- data = {
- 'loginType': 'user',
- 'logonUsername': '此处输入用户名',
- 'password': pwd,
- 'timeStamp': timestamp,
- 'rememberType': '30',
- 'verificationCode': '',
- }
- req = requests.post(login_url, data=data)
- if req.url == 'https://www.tzbao.com/index':
- print(req.url)
- print(req.url)
- do_login()
复制代码
应该可以使用
|
|