python 之模拟登陆csdn
来源:互联网 发布:springmvc json 编辑:程序博客网 时间:2024/05/29 12:44
先给上代码
def log(content, file='test.log', type=1): if type == 1: f = open(file, 'a+', encoding='utf-8') else: f = open(file, 'w+', encoding='utf-8') f.write(content)import urllib,re,http.cookiejar#建立带有cookie的openercookie = http.cookiejar.CookieJar()handler = urllib.request.HTTPCookieProcessor(cookie)opener = urllib.request.build_opener(handler)#opener=urllib2.build_opener()#opener.add_handler(cookieProc)#opener.addheaders(headers)h = opener.open('https://passport.csdn.net').read().decode("utf8")patten1 = re.compile(r'name="lt" value="(.*?)"')patten2 = re.compile(r'name="execution" value="(.*?)"')# b1 = patten1.findall(h)# b2 = patten2.findall(h)# print(h)postData = { 'username': 'username', 'password': 'password', 'lt': b1[0], 'execution': b2[0], '_eventId': 'submit',}postData= urllib.parse.urlencode(postData).encode(encoding='UTF8')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', 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn') ]response = opener.open('https://passport.csdn.net', data=postData)text = response.read()# print(text)# exit()response2 = opener.open('http://my.csdn.net/my/mycsdn')text2 = response2.read().decode('utf-8', 'ignore')log(text2, 'csdn_mycsdn.html')
下面对程序中的函数做一些说明
cookie = http.cookiejar.CookieJar()
handler = urllib.request.HTTPCookieProcessor(cookie)
opener = urllib.request.build_opener(handler)
这三个函数先创建一个CookieJar类,再是实例化一个全局opener
postData= urllib.parse.urlencode(postData).encode(encoding='UTF8')
将字符串按照UTF8编码
第一次写博客还望见谅
阅读全文
0 0
- python 之模拟登陆csdn
- python爬虫之模拟登陆csdn
- Python模拟登陆CSDN
- python 模拟登陆csdn
- 用python模拟登陆到CSDN博客
- Python爬虫之模拟登陆
- python爬虫学习之路(1)_ CSDN网站的模拟登陆
- 模拟登陆CSDN -- Python爬虫练习之正则表达式和cookie
- 模拟登陆之填入cookie【python】
- Python爬虫之模拟登陆知乎
- Python 爬虫之模拟登陆CSND
- 模拟csdn登陆窗口
- 模拟登陆CSDN
- httpclient模拟登陆CSDN
- 模拟登陆csdn
- python模拟登陆知乎和CSDN【urllib,re,requests】
- python模拟登陆csdn及其注意事项,附带源码
- Python爬虫——模拟登陆爬取csdn页面
- 分值算法
- react-native的ListView控件的使用
- Linux下Tomcat6配置HTTPS单向认证
- maven目录结构
- CentOS的free命令
- python 之模拟登陆csdn
- 用友数据库源配置
- 系统虚拟机安装与管理
- angular上传图片,最近自己研究了一个。笨方法。
- Hadoop常见报错解答
- CentOS系统安装Redis数据库
- Struts2 拦截器电子书
- C++11 move带来的高效
- redis 集群