selenium实现csdn登录,目前已失效,仅供参考操作

  selenium实现csdn登录,目前已失效,仅供参考操作:

import urllib
import urllib.request
import http.cookiejar
from urllib import parse
#fiddler抓取登录的POST,用户名和密码为明文,后面的参数key到网页检查里找相对应的value,生成一个POSTData

#建立一个cookie管理器,用这个打开自带cookie
cookie = http.cookiejar.CookieJar()  # 声明一个CookieJar对象实例来保存cookie
handler = urllib.request.HTTPCookieProcessor(cookie)  # 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
opener = urllib.request.build_opener(handler)  # 通过handler来构建opener
headdata=opener.open("https://passport.csdn.net/").read().decode("utf=8")
pat1=re.compile(r"name=\"lt\" value=\"(.*?)\"")  #fiddler抓包后  post 用户名和密码后面的第一个参数
pat2=re.compile(r"name=\"execution\" value=\"(.*?)\"") #fiddler抓包后  post 用户名和密码后面的第二个参数
b1=pat1.findall(headdata)
b2=pat2.findall(headdata) #挖掘两个加密信息

postData={                  #fiddler抓包后,post 的五个参数
    "username":"用户名",
    "password":"密码",
    "lt":b1[0],
    "execution":b2[0],
    "_eventId":"submit"}

postData=parse.urlencode(postData) #编码
opener.addheaders  = [('User-Agent',
                      'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'),
                     ('Referer', 'http://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn')
                     ]



response=opener.open("http://passport.csdn.net/",data=postData)
print(response.read())

responsex=opener.open("http://my.csdn.net/my/mycsdn")
file=open("csdnff.html","w")
file.write(responsex.read())
file.close()
print(responsex.read().find("请您先登录")!=-1)

 

posted on 2020-03-12 10:52  共感的艺术  阅读(282)  评论(0编辑  收藏  举报