文章目录[隐藏]
网络爬虫学习中。简单的静态页面数据。难以满足我们的一颗“好学”之心。且现在我们“好奇”的数据往往藏得很深。要么需要登录。要么为动态加载……今天。就来分享一下模拟浏览器对qq邮箱(我们只是学习、分享、交流)的登录操作!
1、前期准备
“搞事情”之前。我们需要先准备两个工具。分别是需要模拟浏览器登录的模块selenium和对应的驱动插件chromedriver.exe
这里。我们用了一个模拟浏览器登录的模块selenium
安装selenium模块:
pipinstallselenium下载驱动插件chromedriver.exe。插件版本需与浏览器版本相同或相近。此处用的是谷歌浏览器。可在浏览器网页中输入地址chrome://version/。查看浏览器版本:
接着进入驱动下载页面:
解压后将放到指定位置(随便放哪里。只要你知道在哪里)。此处放于“F:\\PycharmProjects\\tensorflow”文件路径下。
2、页面简析(如果着急看效果。跳过此步)
打开QQ邮箱官网(去自动化批量发送邮件。微信扫码登录自然不现实(若有高手可攻克此步。还望分享)。
QQ登录方式有两种。要么点击已登录的QQ头像(可通过cookie实现)。要么直接密码登录。今天我们介绍后者。
点击账号密码登录。发现网址和之前没有变化。
抓包后看到。返回的Referer信息一长串。这难道就是登录页面的实际网址?
复制Referer里的连接信息到浏览器看看。果然!好。那我们就不去请求邮箱官网了。直接对这个连接下手。
但是这个连接信息还是有扫码登录或是之前的cookie信息。我们想要的是账号密码登录。点击密码登录后。进入一个很单纯的表单页面。不错。我们找的就是它。检查密码登录的元素。发现它在类名为switch_btn的a标签下。
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('邮箱的登录你掌握了。那其他网页的登录呢?赶快去试试吧!
以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:http://www.shenzhoubaby.com/13026.html,转载请说明来源于:生活常识网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系@qq.com进行处理。分享目的仅供大家学习与参考,不代表本站立场。