用python写登录https://account.aliyun.com/login/login.htm后跳转到一个页面下载文件
时间: 2023-05-24 14:04:27 浏览: 135
以下是用Python编写的登录阿里云账号后跳转下载文件的示例代码。需要使用requests和BeautifulSoup库。
```python
import requests
from bs4 import BeautifulSoup
# 填入阿里云账号的用户名和密码
username = 'your_username'
password = 'your_password'
# 构造登录headers
login_headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Referer': 'https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fwww.aliyun.com%2F',
'Origin': 'https://account.aliyun.com'
}
# 构造登录数据
login_data = {
'account': username,
'password': password,
'ua': 'Chrome'
}
# 登录阿里云账号
s = requests.Session()
login_url = 'https://account.aliyun.com/login/login.htm'
response = s.post(login_url, headers=login_headers, data=login_data)
# 判断登录是否成功
if '云产品' in response.text:
print('登录成功')
else:
print('登录失败')
# 获取要下载的文件页面
download_url = 'https://market.aliyun.com/products/56928004/cmapi011684.html'
download_headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Referer': 'https://market.aliyun.com/',
}
response = s.get(download_url, headers=download_headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 获取要下载的文件链接
download_link = soup.find('a', {'id': 'skH-download-link'})['href']
# 下载文件
download_response = s.get(download_link, stream=True)
with open('downloaded_file.zip', 'wb') as f:
for chunk in download_response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
print('文件下载完成')
```
注意使用该代码前,需要先安装requests和BeautifulSoup库。可以使用以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
```
并且需要将代码中的`your_username`和`your_password`替换成你自己的阿里云账号用户名和密码。同时也需要将`download_url`替换成你要下载文件的页面链接。最后,如果下载成功,会在脚本所在目录下生成一个名为`downloaded_file.zip`的文件。