模拟浏览器登录并提交数据

网络爬虫学习中,简单的静态页面数据,难以满足我们的一颗“好学”之心,且现在我们“好奇”的数据往往藏得很深,要么需要登录,要么为动态加载……今天,就来分享一下模拟浏览器对QQ邮箱(我们只是学习、分享、交流)的登录操作!

1、前期准备

“搞事情”之前,我们需要先准备两个工具,分别是需要模拟浏览器登录的模块selenium和对应的驱动插件chromedriver.exe

这里,我们用了一个模拟浏览器登录的模块selenium

安装selenium模块:

pip install selenium

下载驱动插件chromedriver.exe,插件版本需与浏览器版本相同或相近,此处用的是谷歌浏览器,可在浏览器网页中输入地址chrome://version/,查看浏览器版本:

登录采集——模拟浏览器登录QQ邮箱

接着进入驱动下载页面***/index.html,下载相同或相近版本的chromedriver.exe:

登录采集——模拟浏览器登录QQ邮箱

解压后将放到指定位置(随便放哪里,只要你知道在哪里),此处放于
“F:\PycharmProjects\tensorflow”文件路径下。

2、页面简析(如果着急看效果,跳过此步)

打开QQ邮箱官网(***/),得到如下界面,这里有几种登录方式,其中微信登录只能通过扫码实现,我们既然想用Python去自动化批量发送邮件,微信扫码登录自然不现实(若有高手可攻克此步,还望分享)。

QQ登录方式有两种,要么点击已登录的QQ头像(可通过COOKIE实现),要么直接密码登录,今天我们介绍后者。

登录采集——模拟浏览器登录QQ邮箱

点击账号密码登录,发现网址和之前没有变化,

登录采集——模拟浏览器登录QQ邮箱

抓包后看到,返回的Referer信息一长串,这难道就是登录页面的实际网址?

登录采集——模拟浏览器登录QQ邮箱

复制Referer里的连接信息到浏览器看看,果然!好,那我们就不去请求邮箱官网了,直接对这个连接下手。

登录采集——模拟浏览器登录QQ邮箱

但是这个连接信息还是有扫码登录或是之前的COOKIE信息,我们想要的是账号密码登录,点击密码登录后,进入一个很单纯的表单页面。不错,我们找的就是它,检查密码登录的元素,发现它在类名为switch_btn的a标签下。

登录采集——模拟浏览器登录QQ邮箱登录采集——模拟浏览器登录QQ邮箱

3、完整代码

好了,QQ邮箱的密码登录方式大概就是这个意思,接下来我们直接上代码:

from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport time# 初始化以及配置浏览器chrome_optiOns= Options()# 1、添加user-agentchrome_options.add_argument('User-Agent="你自己的user-agent')# 2、禁止图片加载 数字1:可以加载图片 数字2:禁止加载图片No_Image_loading = {"profile.managed_default_content_settings.images": 1}chrome_options.add_experimental_option("prefs", No_Image_loading)path = 'F:\PycharmProjects\tensorflow\chromedriver.exe' # 更改为你自己的插件路径driver = webdriver.Chrome(executable_path=path, chrome_optiOns=chrome_options)# 登录页面driver.get('***/cgi-bin/xlogin?appid=522005705&daid=4&s_url=***/cgi-bin/login?vt=passport%26vm=wpt%26ft=loginpage%26target=&style=25&low_login=1&proxy_url=***/proxy.html&need_qr=0&hide_border=1&border_radius=0&self_regurl=***/chs/index.html?type=1&app_id=11005?t=regist&pt_feedback_link=***/discuss/350_1.shtml&css=***/zh_CN/htmledition/style/ptlogin_input_for_xmail440503.css')time.sleep(2)# 切换进入“账号密码登录”driver.find_element_by_id('switcher_plogin').click() # 点击​# 输入账号信息driver.find_element_by_id('u').send_keys('你自己的QQ')

QQ邮箱的登录你掌握了,那其他网页的登录呢?赶快去试试吧!

——————————————————————————

登录采集——模拟浏览器登录QQ邮箱

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2023年 6月 2日 上午10:18
下一篇 2023年 6月 2日 上午10:28

相关推荐

  • coloros13发布都升级了哪些

    不知不觉,ColorOS系统已经诞生近10年,从第一代的“智绘新生”,到去年的ColorOS 12上的“自在无边界”,ColorOS的成长和蜕变,大家也都有目共睹。 作为智能手机操…

    2023年 1月 28日
  • 无法播放错误代码是9324

    您是否不断收到“此视频文件无法播放。 (错误代码:102630)”在网络浏览器中播放视频内容时出现消息?这可能是单个视频文件造成问题,也可能是影响多个视频的站点范围问题。 错误代码…

    2023年 9月 14日
  • qq群匿名消息破解方法qq群匿名查看器手机版

    QQ群的匿名聊天功能真的好吗?虽然能让人匿名吐槽,但是带来更多的是不和谐的问题。故意匿名谩骂报复等的,经常发生,因为都抱着“反正他也不知道是我”的心理。其实匿名用户是可以瞬间知道是…

    2023年 6月 25日
  • 万能修图技巧彻底拯救你的废片(废片修图教程)

    相信你们都有被直男拍照的经历,各种辣眼的构图和抓拍,简单概括一下就是拍谁都五五开、没有腿!简直就是哈比人!!这样的“矮肥黑”废片,还能抢救一下吗? 首先大家可以看一下对比图 原图是…

    2023年 7月 13日
  • 农业银行猴年纪念币什么时候兑换

    离猴年纪念币第一批预约兑换的日子还剩2天,小C汇总了目前四大银行官方已经公布的预约兑换信息,供大家参考! 一、工商银行预约方法: 适用地区:北京、重庆、江苏、湖北、广西、安徽、贵州…

    2023年 4月 10日
  • 长三角交通规划杭衢铁路,浙江新建杭衢铁路

    连日来,长三角铁路建设如火如荼进行。多条铁路有新进展:杭衢铁路常山江特大桥矮塔斜拉桥顺利合龙、池州至黄山高速铁路接触网第一杆成功组立、上海至南京至合肥高速铁路开工建设、巢湖至马鞍山…

    2023年 1月 24日
  • 能改qq账号吗,手机qq怎么修改账号

    QQ又更新了,但这次不是版本更新,而是功能更新。在上月中旬,我发了一篇文章为大伙们报道过,QQ将上线一个名为"QID"的新功能,作用与微信号类似,用户可以自定义…

    2023年 1月 21日
  • 微信密码忘了用什么方法才能登录

    微信密码真的太容易忘记了,因为微信一旦在手机上登了之后,基本上就一直是在线的状态,密码很少很少用,所以很容易忘记,微信密码忘了微信登不上怎么办?很多人可能都不知道有个方法不用密码也…

    2023年 5月 2日
  • 五款输入法体验,哪款是你的菜单啊

    不知道大家以前有没有用过一款输入法?就是以下这个。 有用过的话大家应该或多或少都上点年纪了吧?(狗头保命)它的名字是智能ABC输入法,出生在1995年,早期因捆绑于 Microso…

    2023年 7月 12日
  • 云集是传销骗局怎么上市了呢

    他现在实在受不了了,“已经用光了所有家人的手机号,开始疯狂加附近的人”。 平台费将加入云集的每一个人都紧紧捆绑在一起,为云集积累了最早的一批店主,也给云集埋下了危机。 2019年5…

    互联网 2023年 5月 6日