当前位置:首页 > 编程教程 > Python技术文章 > Python3 Post登录并且保存cookie登录其他页面的方法

Python3 Post登录并且保存cookie登录其他页面的操作步骤

  • 发布时间:
  • 作者:码农之家
  • 点击:147

这篇文章主要知识点是关于Python3、Post、cookie、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3标准库
Python3标准库中文完整版
  • 类型:Python大小:148.9 MB格式:PDF作者:道格·赫尔曼
立即下载

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登录其他页面的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • Python使用post及get方式提交数据的实例代码分析
  • 关于Python爬虫使用requests发送post请求的一些疑点
  • 实例解析Python3 如何利用requests 库进行post携带账号密码请求数据
  • 详解python爬虫 urllib模块发起post请求
  • python发送post的方法
  • Python3 相关电子书
    学习笔记
    网友NO.304635

    快速了解Python开发中的cookie及简单代码示例

    cookie :是用户保存在用户浏览器端的一对键值对,是为了解决http的无状态连接。服务端是可以把 cookie写到用户浏览器上,用户每次发请求会携带cookie。 存放位置: 每次发请求cookie是放在请求头里面的。 应用场景: ·登陆用户和密码的记住密码 ·显示每页显示的数据,以后都是按照设定的数目显示 ·投票机制 案例用户登录 创建用户登录的url url(r'^login/', views.login), 创建登录页面 代码为: !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" title登陆页面/title link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css" rel="external nofollow" link rel="stylesheet" href="/static/jquery-3.2.1.min.js" rel="external nofollow" /headbody form action="/login/" method="post" input type="text" name="username" placeholder="用户名" input type="text" name="password" placeholder="密码" input type="submit" value="提交" /form/body/html 创建后台函数……

    网友NO.489725

    分享Python Cookie 读取及保存方法

    如下所示: #保存 cookie 到变量import urllib.requestimport http.cookiejarcookie = http.cookiejar.CookieJar()handler = urllib.request.HTTPCookieProcessor(cookie)opener = urllib.request.build_opener(handler)response = opener.open(http://flights.ctrip.com/) for item in cookie:print(%s = %s % (item.name,item.value)) #保存 cookie 到文件import urllib.requestimport http.cookiejarcookie_file = E:/mypy/cookie.txtcookie = http.cookiejar.MozillaCookieJar(cookie_file)handler = urllib.request.HTTPCookieProcessor(cookie)opener = urllib.request.build_opener(handler)#response = opener.open(http://flights.ctrip.com/)request = urllib.request.Request(http://flights.ctrip.com/,headers={Connection: keep-alive})response = opener.open(request)cookie.save(ignore_discard=True, ignore_expires=True) for item in cookie:print(%s = %s % (item.name,item.value)) #从文件中读取 cookie 访问import urllib.requestimport http.cookiejarcookie_file = E:/mypy/cookie.txtcookie = http.cookiejar.MozillaCooki……

    网友NO.342952

    Python中Tornado安全Cookie机制的讲解

    本篇文章给大家带来的内容是关于Python中Tornado安全Cookie机制的讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Cookie是很多网站为了辨别用户的身份而存储在用户本地终端(Client Side)d的数据,在Tornado中使用RequestHandler.get_cookie()、RequestHandler.set_cookie()可以方便地对Cookie进行读写。 实例:Cookie的简单读写 import tornado.websession_id = 1class MainHandler(tornado.web.RequestHandler): def get(self): global session_id if not self.get_cookie(session): self.set_cookie(session,str(session_id)) session_id+=1 self.write(设置新的session) else: self.write(已经具有session)if __name__ == '__main__': app=tornado.web.Application([ (/,MainHandler) ]) app.listen(8888) tornado.ioloop.IOLoop.current().start() 本例中用get_cookie()函数判断Cookie名【session】是否存在,如果不存在则为其赋予新的session_id. 在实际应用中,Cookie经常像本例这……

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com