🛫第一种方式

实现思路

模拟真人登陆4399的操作

  1. 打开4399网址
  2. 点击登录
  3. 定位到新的iframe登陆窗口
  4. 输入4399账号
  5. 输入4399密码
  6. 点击iframe登录

使用selenium库,首次使用需要绑定浏览器配置

  1. 安装selenium

    pip install selenium

  2. 打开chrome 输入 “chrome://version/” 查看chrome版本

  3. 下载对应版本的谷chrome 驱动——下载网址

  4. 把下载好的chrome 驱动,放在python安装根目录

  5. 这样初始环境我们就配置好了

代码

from selenium import webdriver
"""selenium 模拟登陆4399"""
# 实例化浏览器对象
driver = webdriver.Chrome()
# 目标url
driver.get('http://www.4399.com/')
# 模拟点击
driver.find_element_by_xpath('//*[@id="login_tologin"]').click()
# 新界面需要提前进入
driver.switch_to.frame('popup_login_frame')
# 账号 密码输入
driver.find_element_by_xpath('//*[@id="username"]').send_keys('4399账号')
driver.find_element_by_xpath('//*[@id="j-password"]').send_keys('4399密码')
# 登陆选择
driver.find_element_by_xpath('//*[@id="login_form"]/fieldset/div[5]/input').click()

🚈第二种方式

直接爬虫用requests库实现

安装requests

pip install requests

通过抓包的方式提交信息

把登陆后的页面保存为html文件

代码

import requests
#模拟登陆4399 成功 一定要灵活运用session()这个好东西
#这是我们要提交的表单
data={
'loginFrom':'uframe',
'postLoginHandler':'default',
'layoutSelfAdapting':'true',
'externalLogin':'qq',
'displayMode':'popup',
 'layout':'vertical',
 'appId':'www_home',
 'mainDivId':'popup_login_div',
 'includeFcmInfo':'false',
 'userNameLabel':'4399用户名',
 'userNameTip':'请输入4399用户名',
 'welcomeTip':'欢迎回到4399',
 'username':'你的4399账号',  # 需要修改,填写自己的4399账号
'password':'你的4399密码'	# 需要修改,填写自己的4399密码
 }
headers={
 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'
 }
url='http://ptlogin.4399.com/ptlogin/login.do?v=1'
session=requests.Session()
res=session.post(url=url,data=data,headers=headers)
res2=session.get(url='http://u.4399.com/user/info',headers=headers) #成功登陆以后,查看我们的用户数据
# 这里把我们的请求结果保存到文件
f=open('4399.html','wb')
f.write(res2.content)
f.close()

一个可爱的人