Python3 Post登录并且保存cookie登录其他页面的方法
作者:队长小楠 发布时间:2023-08-18 22:45:52
标签: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)
来源:https://blog.csdn.net/u013630017/article/details/52434470
0
投稿
猜你喜欢
- 一段时间以来,发现有很多人XHTML都不会用,不光是普通的初学者,有的程序员都不是很清楚该怎么写这个XHTML,我这里呢算是把一些常见的应用
- (一)CSV格式文件1.说明CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储
- IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不
- Python自定义函数在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能。自定义函数的语法在Python中,
- 自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。Traits 是一种为类似 PHP 的单继承语言而准备的代
- 什么是树表查询?借助具有特殊性质的树数据结构进行关键字查找。本文所涉及到的特殊结构性质的树包括:二叉排序树。 平衡二叉树。使用上述树结构存储
- 有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上要是在linu
- 1.首先生成array数组import numpy as npa = np.random.rand(5,5)print(a)结果:array
- Serializer序列化器定义Serializer1. 定义方法Django REST framework中的Serializer使用类来
- Monster是Alipay UED推出的网站代码分析、质量检测及评分的浏览器扩展,它能智能分析CSS、JS、HTML内容并生动形象展示网页
- Python jieba分词如何添加自定义词和去除不需要长尾词通过如下代码,读取一个txt的高频词汇:# 找到高频词汇 &nb
- 本文实例讲述了Python设计模式之命令模式原理与用法。分享给大家供大家参考,具体如下:命令模式(Command Pattern):将请求封
- 1、涉及到图的对比会用到子图形式展示先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- import turtle as tt.setup(800,600,0,0,)t.pensize(2)t.speed(1)t.color(&
- 说在前头最近在做毕设,题目是道路拥堵预测系统,学长建议我使用SVM算法进行预测,但是在此之前需要把Excel中的数据进行二次处理,原始数据不
- 使用Python 2.7 + pywin32 + wxpython开发每隔一段时间检测一下服务是否停止,如果停止尝试启动服务。进行服务停止日
- chr(13) 是一个回车Chr(10) 是一个换行符chr
- 灵感来源之前在B站看到一个有意思的视频:【B站】【亦】终极云游戏!五千人同开一辆车,复现经典群体智慧实验大家可以看看,很有意思。up主通过代
- 在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而asp中没有, 假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知
- 1 集合集合可以使用大括号({})或者set()函数进行创建,但是创建一个空集合必须使用set()函数,而不能用{},大括号是用来创建一个空