在学习网络爬虫时,单纯的静态页面数据很难满足我们的“想学”,而现在“好奇”的数据往往隐藏得很深或者必须动态加载。今天我们就来看看吧。分享一个模拟的浏览器登录体验到你的QQ邮箱(我们只是学习、分享、交流)。
1. 前期准备
在“开始”之前,您需要准备好两个工具。一个是需要模拟浏览器登录的模块Selenium,以及对应的驱动插件chromedriver.exe。
我们将使用Selenium,一个模拟浏览器登录的模块。
安装硒模块。
pipinstallselenium 下载驱动程序插件chromedriver.exe。插件版本必须与此处使用的Google Chrome 版本相同。您可以在浏览器的网页中输入地址chrome://version/。显示浏览器版本。
接下来,访问驱动程序下载页面http://chromedriver.storage.googleapis.com/index.html并下载相同或相似版本的chromedriver.exe。
解压后,它将被放置在“F:\\\\PycharmProjects\\\\tensorflow”文件路径下的指定位置(或任何您知道其位置的位置)。
2. 页面快速分析(想了解效果请跳过此步骤)
打开QQ邮箱官网(https://mail.qq.com/),得到如下界面。 登录的方式有很多种,但是微信登录只能通过扫描二维码来实现,因为我们要使用Python自动发送。批量发送邮件时,自然是扫描微信二维码登录。这是不现实的(如果有专家可以克服这个过程,请分享)。
登录QQ有两种方式。点击您登录的QQ头像(可以通过cookie实现)或直接使用密码登录。今天我想向您介绍后者。
如果您单击“帐户和密码”进行登录,您会看到URL 仍然与以前相同。
捕获数据包返回一长串引用者信息。这是登录页面的实际URL 吗?
将Referer连接信息复制到浏览器中查看。确实如此!现在,我们不用访问官方邮箱网站,而是直接开始这个连接。
不过,这个连接信息包括扫码或者之前登录的cookie信息。单击密码并登录后,您将进入一个非常简单的表单页面。是的,这就是我们一直在寻找的。我检查了密码登录元素,并在类名为switch_btn 的标签下找到了它。
3.完整代码
现在,QQ邮箱密码登录方法大概就是这个意思。现在我们直接上代码。
from Selenium import webdriverfrom selenium.webdriver.chrome.options import Options导入时间# 浏览器初始化和配置chrome_options=Options()# 1. user-agentchrome_options.add_argument(\’User-Agent=\’your own user-agent\’)# 2 添加编号1:允许加载图片。 No_Image_loading={\’profile.management_default_content_settings\’: 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(\’https://xui.ptlogin2.qq.com/cgi-bin/xlogin appid=522005705daid=4s_url=https://mail.qq.com/cgi-bin/login vt=passport% 26vm=wpt%26ft=loginpage%26target=style=25low_login=1proxy_url=https://mail.qq.com/proxy.htmlneed_qr=0hide_border=1border_radius=0self_regurl=http://zc.qq.com/chs/index.html type=1app_id=11005 t=registpt_feedback_link=http://support.qq.com/discuss/350_1.shtmlcss=https://res.mail.qq.com/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(\’yourself 你已经掌握了QQ邮箱登录,但是登录其他网页呢?赶紧去试试吧!
——————————————————————————
本文和图片来自网络,不代表火豚游戏立场,如若侵权请联系我们删除:https://www.huotun.com/game/668055.html