python 爬取学信网登录页面的例子
作者:宇风-飞扬 发布时间:2022-11-25 22:04:39
标签:python,爬取,登录,页面
我们以学信网为例爬取个人信息
**如果看不清楚
按照以下步骤:**
1.火狐为例 打开需要登录的网页–> F12 开发者模式 (鼠标右击,点击检查元素)–点击网络 –>需要登录的页面登录下–> 点击网络找到 一个POST提交的链接点击–>找到post(注意该post中信息就是我们提交时需要构造的表单信息)
import requests
from bs4 import BeautifulSoup
from http import cookies
import urllib
import http.cookiejar
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0',
'Referer':'https://account.chsi.com.cn/passport/login?service=https://my.chsi.com.cn/archive/j_spring_cas_security_check',
}
session = requests.Session()
session.headers.update(headers)
username = 'xxx'
password = 'xxx'
url = 'https://account.chsi.com.cn/passport/login?service=https://my.chsi.com.cn/archive/j_spring_cas_security_check'
def login(username,password,lt,_eventId='submit'): #模拟登入函数
#构造表单数据
data = { #需要传去的数据
'_eventId':_eventId,
'lt':lt,
'password':password,
'submit':u'登录',
'username':username,
}
html = session.post(url,data=data,headers=headers)
def get_lt(url): #解析登入界面_eventId
html = session.get(url)
#获取 lt
soup = BeautifulSoup(html.text,'lxml',from_encoding="utf-8")
lt=soup.find('input',type="hidden")['value']
return lt
lt = get_lt(url)#获取登录form表单信息 以学信网为例
login(username,password,lt)
login_url = 'https://my.chsi.com.cn/archive/gdjy/xj/show.action'
per_html = session.get(login_url)
soup = BeautifulSoup(per_html.text,'lxml',from_encoding="utf-8")
print(soup)
for tag in soup.find_all('table',class_='mb-table'):
print(tag)
for tag1 in tag.find_all('td'):
title= tag1.get_text();
print(title)
来源:https://blog.csdn.net/eb_num/article/details/75050702


猜你喜欢
- 问题:导入数据时是否需要禁用索引?解答:在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有
- 一。存储过程的创建和使用1.创建程序包,并在程序中创建存储过程create or replace PACKAG
- 1 MySQL的autocommit设置MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交。如
- 从这里开始我的博客,后台数据库是什么?没错,就是MySQL,服务器端使用的脚本就是PHP,整个框架使用的是WordPress。PHP和MyS
- ini文件即Initialization File初始化文件,在应用程序及框架中常作为配置文件使用,是一种静态纯文本文件,使用记事本即可编辑
- 简介观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个
- 一、技术路线requests:网页请求BeautifulSoup:解析html网页re:正则表达式,提取html网页信息os:保存文件imp
- 本代码主要实现的是利用网络传输图片,用在我的树莓派项目之上。该项目在PC上运行服务端,树莓派上运行客户端,两者连接到同一局域网中,修改代码中
- 报错如下:TabError: inconsistent use of tabs and spaces in indentation我推荐一种
- 本文实例为大家分享了python实现nao机器人身体躯干和腿部动作的具体代码,供大家参考,具体内容如下跟上一篇类似,代码没什么难度,可以进行
- 我们在SQL Server Management Studio中写SQL 的时候,避免不了在浏览器和SSMS两者之间频繁切换,并浪费时间,殊
- 本人就职于一个本地门户网站,每天网站上的天气都得更新。久而久之感到相当麻烦,于是写了一个定时的新闻小偷,帖出来大家参考一下系统
- 远程运行最怕断电,训练了几个小时的数据说没就没,或者停止运行。用nohup 记录代码的输出,还可以不受断电的影响。方法1. 用nohup 运
- CONSTRAINT约束,即对数据库表中的数据进行约束,以保证数据记录的完整性和有效性。比较常用的是,创建表时添加约束,但是为了整理记录,这
- 本文实例讲述了Python简单生成随机姓名的方法。分享给大家供大家参考,具体如下:用到random.choice(序列)在一个序列中随机选取
- 与其他主流语言如 Javascript、Java 和 Python 相比,Golang 的错误处理方式可能和这些你熟悉的语言有所不同。所以才
- 一、Eclipse 的安装Eclipse的安装是很容易的。Eclipse是基于java的一个应用程序,因此需要一个java的运行环境(JRE
- 为了顺利的开发一个多语言的国际化J2EE程序,需要修改数据库字符集,我的做法如下:安装 MySq时选择字符集为UTF-8修改MySql安装目
- 看看下面的w3 upload组件例子,很简单: upload.asp<html> <head>
- 测试异常情况-- 1. 查询张三余额select * from account where name = '张三';-- 2