目标网址:https://ssfw.njfy.gov.cn/#/ktggList?onetitle=ktgg 需求简述:抓取最近一周内的所有数据,保存网页披露的所有数据 备注:post参数+响应内容加密
时间: 2023-12-24 19:05:28 浏览: 26
好的,这是一个需要登录后才能获取数据的网站,因此在进行 POST 请求前需要先模拟登录获取到登录后的 cookie。以下是实现的步骤:
1. 导入 requests 库和相关的加密模块(比如 hashlib)。
2. 构造登录的 POST 请求,包括请求头、请求数据等信息,并发送 POST 请求,获取登录成功后返回的 cookie。
3. 根据需求构造数据,对数据进行加密。
4. 构造抓取数据的 POST 请求,包括请求头、请求数据等信息,并发送 POST 请求。
5. 解密响应内容,并对数据进行处理和保存。
下面是代码示例:
相关问题
python session模拟登录
在Python中,可以使用requests库来进行session模拟登录。下面是一个使用requests库进行session模拟登录的示例代码:
```python
import requests
# 登录时需要POST的数据
data = {
'Login.Token1': '学号',
'Login.Token2': '密码',
'goto:http': '//ssfw.xmu.edu.cn/cmstar/loginSuccess.portal',
'gotoOnFail:http': '//ssfw.xmu.edu.cn/cmstar/loginFailure.portal'
}
# 设置请求头
headers = {
'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
}
# 登录时表单提交到的地址
login_url = 'http://ssfw.xmu.edu.cn/cmstar/userPasswordValidate.portal'
# 构造Session
session = requests.Session()
# 在session中发送登录请求,此后这个session里就存储了cookie
session.post(login_url, data=data, headers=headers)
# 登录后才能访问的网页
url = 'http://ssfw.xmu.edu.cn/cmstar/index.portal'
# 发送访问请求
resp = session.get(url)
# 打印响应内容
print(resp.content.decode('utf-8'))
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![apk](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)