首页 > 自考资讯 > 高考百科

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

小条 2024-06-27

在学习网络爬虫时,单纯的静态页面数据很难满足我们的“想学”,而现在“好奇”的数据往往隐藏得很深或者必须动态加载。今天我们就来看看吧。分享一下你的QQ邮箱的模拟浏览器登录体验(我们只是在学习、分享、交流)。

1. 前期准备

在“开始”之前,您需要准备好两个工具。一个是需要模拟浏览器登录的模块Selenium,以及对应的驱动插件chromedriver.exe。

我们将使用Selenium,一个模拟浏览器登录的模块。

安装硒模块。

pipinstallselenium 下载驱动程序插件chromedriver.exe。插件版本必须与此处使用的Google Chrome 版本相同。您可以在浏览器的网页中输入地址chrome://version/。显示浏览器版本。

4692862016ec428d8c7c1f38cc41a737~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=4%2BpyPJVFGtOBeUplbn7aR9W6BWo%3D然后访问驱动下载页面http://chromedriver.storage.googleapis.com/index.html,下载相同或相似版本的chromedriver.exe。

ccd3f0f083b04dfbbe4b9c29b46360ca~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=yfTSq3ebKVuBcbd1FUb%2FFxRAulY%3D解压后会放在指定位置(你可以放在任何你知道位置的地方)。把它放在这里。

在文件路径“F:\\PycharmProjects\\tensorflow”下。

2. 页面快速分析(想了解效果请跳过此步骤)

打开QQ邮箱官网(https://mail.qq.com/),得到如下界面。 登录的方式有很多种,但是微信登录只能通过扫描二维码来实现,因为我们要使用Python自动发送。批量发送邮件时,自然是扫描微信二维码登录。这是不现实的(如果有专家可以克服这个过程,他愿意分享)。

登录QQ有两种方式。点击您登录的QQ头像(可以通过cookie实现)或直接使用密码登录。今天我想向您介绍后者。

56c624d195c94d0bb7d9180cad30e98b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=4qCSeVGBDOwaSWTal4HS1vBBj1Q%3D 点击账号和密码登录,你会看到URL和之前一样。

bff00fae3ecb4c17bb444a033e497f9b~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=mk2wqQegGcd334HZKjGEVRTQW8Y%3D 抓包后返回一长串referrer信息。这是登录页面的实际URL 吗?

bb53b08c4b07478990a42092b65d345e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=Q5I%2BkUAphHAdFKNix%2FPJinO86k8%3D 请复制Referer连接信息并在浏览器中查看。现在,我们不再访问官方邮箱网站,而是直接从这个连接开始。

992ff650e1464278936f77cc54056f21~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=lsiHnJqHF%2FwiEwHFfdOCJLf62V4%3D 但是,这个连接信息包括扫码或者之前登录的cookie信息。点击密码并登录后,您将被带到一个非常简单的表单页面。是的,这就是我们正在寻找的。我检查了密码登录元素,并在类名为switch_btn 的标签下找到了它。

d0b33b8d23eb46afae7a73ef8b174749~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=gHBxAiQiCoOTGTBMQFSRqldWSE0%3D 632e1f25fc144effbf42851796a7bdf4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=lAQfaZ9SMMqSFDu%2Fwhdpir1A4g8%3D3,完整代码

嗯,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) # 切换到“账号和密码” Login" driver.find_element_by_id('switcher_plogin').click() # 点击# 输入账户信息driver. find_element_by_id('u').send_keys('我的QQ') 你已经掌握了登录QQ邮箱了,那么如何登录其他网页呢?现在就去尝试一下吧!

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

c28ecdefdedb4b34bd9bba35d458bf73~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720062914&x-signature=5CmDeQ2ixMMHQ4K8VeiXBGCfXt8%3D

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢