首页 > 自考资讯 > 自考知识

采集网页,登录采集模拟浏览器登录qq邮箱怎么弄

头条共创 2024-07-05

在学习网络爬虫时,单纯的静态页面数据很难满足我们的“想学”,而现在“好奇”的数据往往隐藏得很深或者必须动态加载。今天我们就来看看吧。分享一个模拟的浏览器登录体验到你的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=1720771445&x-signature=W%2FS7TT7CcbPGabtOnH3lkerr1PY%3D然后访问驱动下载页面http://chromedriver.storage.googleapis.com/index.html,下载相同或相似版本的chromedriver.exe。

ccd3f0f083b04dfbbe4b9c29b46360ca~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720771445&x-signature=Zse5%2BZxtYDhkyR5GJ%2FbTk%2FAmRb8%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=1720771445&x-signature=WOYfb9Ka%2FW3cXHn15VOKfTN8V6c%3D 点击账号和密码登录,你会看到URL和之前一样。

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

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

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

d0b33b8d23eb46afae7a73ef8b174749~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720771445&x-signature=0LwQNICN7y%2BDTbg3%2FFdpVBXIzeE%3D 632e1f25fc144effbf42851796a7bdf4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720771445&x-signature=oelFYcvr57ai0aPCrOzUGYxE5nM%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=1720771445&x-signature=xFk6twUdeIgx6YCBtqDUafLuu8I%3D

版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。

猜你喜欢