其他分享
首页 > 其他分享> > selenium实现csdn登录,目前已失效,仅供参考操作

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)

 

标签:http,selenium,urllib,opener,csdn,cookie,net,仅供参考
来源: https://www.cnblogs.com/my-global/p/12467690.html