python 模拟登陆
时间: 2023-11-03 09:01:56 浏览: 92
Python模拟登陆实现代码
Python可以通过模拟登录的方式进行网站登录操作。有多种方法可以实现这个功能,比如使用urllib库和selenium库。
如果使用urllib库,可以通过获取cookie来模拟登录。首先,需要使用burpsuite等工具抓包获取登录网站的cookie,然后将cookie添加到请求头中。下面是一个使用urllib库进行模拟登录的示例代码:
```python
from urllib import request
# 登录后才能访问的网站URL
url = 'http://zxjf.ecjtu.edu.cn/Student/index.aspx'
# 浏览器登录后得到的cookie字符串
cookie = r'ASP.NET_SessionId=jm4iqsy1aten3qdkxm5vcl4r'
req = request.Request(url)
req.add_header('cookie', cookie)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36')
resp = request.urlopen(req)
print(resp.read().decode('utf-8'))
```
另一种方法是使用selenium库进行模拟登录。selenium库可以模拟用户在浏览器中的行为,包括输入账号密码、点击登录按钮等操作。下面是一个使用selenium库进行模拟登录的示例代码:
```python
from selenium import webdriver
import time
driver = webdriver.Chrome() # 需要下载对应浏览器的驱动,比如Chrome需要下载ChromeDriver
driver.get("https://user.17k.com/www/bookshelf/")
time.sleep(2)
el_path = driver.find_element_by_xpath('/html/body/div[4]/div/div/iframe')
driver.switch_to.frame(el_path)
driver.find_element_by_xpath('//dd[@class="user"]/input').send_keys('你的账号')
driver.find_element_by_xpath('//dd[@class="pass"]/input').send_keys('你的密码')
driver.find_element_by_xpath('//*[@id="protocol"]').click()
driver.find_element_by_xpath('//dd[@class="button"]/input').click()
```
阅读全文