百度贴吧登录过程分析

本文详细介绍了如何使用浏览器的F12开发人员工具分析百度贴吧的登录过程,包括获取BAIDUID、登录token、验证码、密钥的步骤。在分析过程中强调了浏览器需处于隐私模式,并分享了观察和理解网络请求、cookie变化的技巧。虽然未能揭示密码加密的具体算法,但整个登录流程已清晰呈现。
摘要由CSDN通过智能技术生成

分析登录过程的话有很多工具可供选择,Fiddler等抓包工具都是很好的选择。不过这次不需要,由于登录过程需要在浏览器上完成,所以我们这次直接使用浏览器的F12开发人员工具。火狐、Chrome、Edge的F12工具都差不多。这次我就以Edge的为例来说明。

熟悉调试工具

一开始由于我的调试姿势不正确,所以浪费了很多时间。在这里我把我的人生经验分享一下。其实很简单,就是一句话:浏览器必须进入隐私模式。因为浏览器有可能保存以前的登录信息、cookie等,对分析工作造成混淆影响。所以我们必须不断地调试不断地清除数据。不妨直接进入隐私模式,这样所有东西都是新的,方便我们分析。

来上两张图看看。首先是调试工具。在这里我们主要看的就是cookie的值。网页登录的每一步骤我们都需要看看新增加了什么cookie,哪些cookie在登录过程中是必要的。这需要我们一步一步分析。

调试程序

第二个部分就是网络标签。在这里就是我们主要分析的地方了。登录过程中哪一部分发送了什么类型的数据、发到了哪个URL、服务器返回了什么结果,都需要我们分析,然后模拟出登录过程。这里横排的几个按钮还可以清除缓存、cookie、记录等等,如果我们需要重复分析,这几个按钮是非常方便的。

网络标签

这里有一个小技巧,那就是内容类型这里。一个网页常常包含了很多静态文件、需要从很多CDN返回图片等,但是这些都是和登录内容无关的东西。所以我们可以在这里选择需要查看的内容,图片之类的几乎完全可以忽略(当然如果遇到验证码,还是需要分析一下)。

内容过滤

如果还有什么不熟悉的地方,最好自己打开几个网页,然后用开发人员工具看看。一个合格的程序员,利用调试工具的技能肯定是必不可少的。另外Edge的开发人员工具是中文的,对于英文不好的同学还是很友好的。

登录过程分析

获取BAIDUID

按照上面的技巧,打开一个隐私模式网页,然后把开发人员工具调教到合适的位置。然后进入百度主页面www.baidu.com。回到调试工具看看浏览器在这一步做了什么。

首先第一步是访问了https://www.baidu.com/ 这个地址,作用是设置了BAIDUID这个cookie。后续的请求我们都需要附上这个cookie。该cookie只有在附有UA的时候才会返回。

获取登录token

然后我们点击百度首页右上角的登录,看看会发生什么。这一步步访问https://passport.baidu.com/v2/api/?getapi&tpl=mn&apiver=v3&tt=1491554358163&class=login&gid=134D887-FD18-4D86-AED8-0880DCA39820&logintype=dialogLogin&callback=bd__cbs__m6q67t 这个地址,可以看到它带了很多参数。其中只有两个参数需要我们注意:一是tt参数,代表当前时间的毫秒数;二是gid,也就是GUID,我们用Python代码就能生成。其他参数不变就行了。

这一步如果成功的话,服务器就会返回一个JSONP。这里最重要的就是data中的token了。我们后续的登陆请求就需要这个玩意。


                
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Selenium登录百度贴吧,你可以按照以下步骤进行操作: 1. 首先,导入Selenium库并设置WebDriver,例如使用ChromeDriver。 2. 打开百度贴吧登录页面,并找到用户名和密码的输入框元素。 3. 使用`send_keys`方法输入你的用户名和密码。 4. 找到登录按钮的元素,并使用`click`方法进行点击。 5. 等待页面加载完成,可以使用`time.sleep`方法等待页面加载完成。 6. 确认是否成功登录,可以通过检查页面中是否存在登录后的特定元素来判断。 以下是一个示例代码,演示了如何使用Selenium登录百度贴吧: ```python from selenium import webdriver from selenium.webdriver.common.by import By # 设置ChromeDriver路径 chromedriver_path = "path/to/chromedriver" # 创建ChromeDriver实例 driver = webdriver.Chrome(executable_path=chromedriver_path) # 打开百度贴吧登录页面 driver.get("https://tieba.baidu.com/index.html") # 输入用户名和密码 driver.find_element(By.ID, 'TANGRAM__PSP_11__userName').send_keys('用户名') driver.find_element(By.ID, 'TANGRAM__PSP_11__password').send_keys('密码') # 点击登录按钮 driver.find_element(By.ID, 'TANGRAM__PSP_11__submit').click() # 等待页面加载完成 time.sleep(2) # 确认登录是否成功 if "登录成功" in driver.page_source: print("登录成功") else: print("登录失败") # 关闭浏览器 driver.quit() ``` 请注意,你需要将代码中的`"path/to/chromedriver"`替换为你自己的ChromeDriver路径。此外,为了确保代码的稳定性,建议在输入用户名和密码后,使用适当的等待时间来确保页面加载完成。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python selenium登录百度首页、网盘、贴吧分别获取cookies,利用xlwings写入excel中,观察其共同点](https://blog.csdn.net/qq_38282706/article/details/80461946)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python爬虫-使用Selenium模拟百度登录](https://blog.csdn.net/saqin6255/article/details/130659046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值