Python3 Post登录并且保存cookie登录其他页面的方法

 更新时间:2018年12月28日 15:03:23   作者:队长小楠  
今天小编就为大家分享一篇Python3 Post登录并且保存cookie登录其他页面的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

import urllib.request
import sys
import http.cookiejar
import urllib.parse
from bs4 import BeautifulSoup
import codecs
import re

#登录页面
url = "http://www.abc.com/login.asp"
#登录Post数据
postdata =urllib.parse.urlencode({ 
"username":"abc",
"password":"abc"
 }).encode('utf-8')
#构造header
header = {
 "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
 "Accept-Encoding":"utf-8",
 "Accept-Language":"zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3",
 "Connection":"keep-alive",
 "Host":"www.abc.com",
 "Referer":"http://www.abc.com/login.asp",
 "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0"
 }


req = urllib.request.Request(url,postdata,header)
#获得cookie
cj = http.cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open(req)

#继续访问登陆后的页面

get_url = 'http://www.abc.com/user/' 
get_request = urllib.request.Request(get_url, headers=header)
get_response = opener.open(get_request)
#打印获得的页面信息
print(get_response.read().decode("utf-8"))
#用bs4可以获得你需要的标签内容
soup = BeautifulSoup(get_response.read(),"html.parser")
jie = soup.find_all('span')
#这里利用正则表达式过滤掉html语言
dr = re.compile(r'<[^>]+>',re.S)
#这里jie[2]表示取符合条件的第三个标签
dd = dr.sub('',str(jie[2]))
print(dd)

以上这篇Python3 Post登录并且保存cookie登录其他页面的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中property函数用法实例分析

    Python中property函数用法实例分析

    这篇文章主要介绍了Python中property函数用法,结合实例形式分析了property函数的功能、参数、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06
  • Prometheus开发中间件Exporter过程详解

    Prometheus开发中间件Exporter过程详解

    这篇文章主要介绍了Prometheus开发中间件Exporter过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • OpenCV-Python实现轮廓的特征值

    OpenCV-Python实现轮廓的特征值

    轮廓自身的一些属性特征及轮廓所包围对象的特征对于描述图像具有重要意义。本篇博文将介绍几个轮廓自身的属性特征及轮廓包围对象的特征,感兴趣的可以了解一下
    2021-06-06
  • Python实现带GUI界面的手写数字识别

    Python实现带GUI界面的手写数字识别

    这篇文章主要介绍了如何通过Python实现带GUI界面的手写数字识别,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以了解一下
    2022-01-01
  • Django执行python manage.py makemigrations报错的解决方案分享

    Django执行python manage.py makemigrations报错的解决方案分享

    相信用过很多Django makemigrations的人都会遇到过makemigrations时会发生报错,下面这篇文章主要给大家介绍了关于Django执行python manage.py makemigrations报错的解决方案,需要的朋友可以参考下
    2022-09-09
  • Python Django view 两种return的实现方式

    Python Django view 两种return的实现方式

    这篇文章主要介绍了Python Django view 两种return的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 在django中form的label和verbose name的区别说明

    在django中form的label和verbose name的区别说明

    这篇文章主要介绍了在django中form的label和verbose name的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python中无限元素列表的实现方法

    Python中无限元素列表的实现方法

    这篇文章主要介绍了Python中无限元素列表的实现方法,很实用的功能,需要的朋友可以参考下
    2014-08-08
  • django定期执行任务(实例讲解)

    django定期执行任务(实例讲解)

    下面小编就为大家带来一篇django定期执行任务(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Python实现的选择排序算法示例

    Python实现的选择排序算法示例

    这篇文章主要介绍了Python实现的选择排序算法,结合实例形式分析了Python选择排序的概念、原理及简单实现技巧,需要的朋友可以参考下
    2017-11-11

最新评论