本篇文章介绍的内容会涉及到以下知识:

PyQt5的使用;

Selenium的使用;

代理服务器的架设和使用;

一、账号限制之痛

在如今的互联网中,免费的信息和资源占据了很大一部分,各类互联网应用提供了各行各业的资讯和资源。这是互联网能够不断繁荣和扩大的重要原因之一。

与此同时,一些收费或不公开的互联网应用则构成了互联网世界中更有价值和意义的部分。

一些限制性较低的网站,可能仅仅需要进行用户登录即可使用服务;

一些限制性中等的网站,则可能会出于账户安全或是其他方面的因素考虑,限制账号在一定时间一定IP范围内在进行登录使用;

而一些限制性很高的网站,则可能需要使用到硬件设备(比如U盾、加密狗等)+账号进行登录,部分还会配合使用到浏览器插件。

这些对账号登录的限制措施很大程度上确保了账户的安全性,但是却给使用者带来了很大的不便。

出于某些需求,我们可能需要将一个包含限制登录和使用的账号分享给多个人同时使用,这时候,我们就可以借助Python来完美实现这个需求了。

二、突破账号使用限制

在这个方案中,我们需要使用到以下工具:

Selenium:用于模拟登录目标网站; Cookie存储服务:用于存储和返回目标网站登录成功的Cookie; 一个基于PyQt5或PiSide2的QWebEngine模块制作的浏览器;

我们首先借助Selenium对目标网站进行模拟登录并不断维持登录状态,将登录成功和更新的Cookie上传给Cookie存储服务;

然后使用PyQt5或PySide2借助其QWebEngine模块的浏览器核心自制一个浏览器。

在启动的时候从Cookie存储服务中获取最新的Cookie,将获取到的Cookie配置为浏览器默认全局Cookie。

这样,在我们打开目标网站的时候,默认就是已经登录后的状态了。如此就免除了登录限制;

三、处理账号登录IP异常

在上面提到的方案中,基本可以实现账号的共享,但是问题也是有的。比如:

多个用户同时访问的时候,同一个Cookie会匹配给多个IP地址,这对于网站后台而言,可能会将其识别为多个用户登录,从而导致频繁掉线。

多个用户访问,会使同一个账号出现多个IP地址,这对于一些安全等级较高的网站来说,会将其判定为存在疑似用户被盗号的风险,进行限制账号登录和访问。

面对这种情况,我们则需要下面这种方案:

在这个方案中,我们加入了一个关键的代理服务器。

这个代理服务器会对包括Selenium和浏览器的所有请求进行转发。

Selenium通过这个代理服务器模拟登录目标网站,

自制的Qt浏览器也默认通过代理服务器访问目标网站。

在加入代理服务器之后,无论是多少个用户同时访问目标网站,所呈现出来的IP地址永远只有代理服务器的IP地址这一个。

这样,就避免了因为多个用户访问导致同一账号被多个IP地址使用,从而导致账号掉线和限制登录的风险了。

总结

以上所述是小编给大家介绍的基于Python打造账号共享浏览器功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

您可能感兴趣的文章:python selenium 对浏览器标签页进行关闭和切换的方法

Python实现爬虫设置代理IP和伪装成浏览器的方法分享

python实现随机调用一个浏览器打开网页

python爬虫 使用真实浏览器打开网页的两种方法总结

浅谈python爬虫使用Selenium模拟浏览器行为

Python爬虫通过替换http request header来欺骗浏览器实现登录功能

python制作浏览器 脚本之家_基于Python打造账号共享浏览器功能相关推荐

  1. python账号_基于Python打造账号共享浏览器功能

    本篇文章介绍的内容会涉及到以下知识: PyQt5的使用; Selenium的使用; 代理服务器的架设和使用: 一.账号限制之痛 在如今的互联网中,免费的信息和资源占据了很大一部分,各类互联网应用提供了 ...

  2. python关于二手房的课程论文_基于python爬取链家二手房信息代码示例

    基本环境配置 python 3.6 pycharm requests parsel time 相关模块pip安装即可 确定目标网页数据 哦豁,这个价格..................看到都觉得脑阔 ...

  3. python随机输出52张牌_基于Python制作一副扑克牌过程详解

    整理一下通过本文分享给大家, 该案例是通过 Python 类属性创建一幅除去大王.小王之后的 52 张扑克牌,并实现随机抽牌.排序.洗牌等功能: 创建一个纸牌类 一副扑克除去大王小王之外,剩下的 52 ...

  4. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  5. python版植物大战僵尸源码_基于python的植物大战僵尸游戏设计与实现.docx

    湖南理工学院毕业设计(论文) PAGE PAGE 1 学 号 毕业设计(论文) 题目:基于python的植物大战僵尸游戏设计与实现 作 者 届 别 届 院 别 信息与通信工程学院 专 业 信息工程 指 ...

  6. python如何创建txt文档_基于python实现生成指定大小txt文档

    前言 在测试过程中经常遇到文件上传的功能,文件的大小边界值测试一直没有好的解决办法,这里我分享一个创建文件的脚本希望对大家有帮助. demo """ * Create b ...

  7. python写安卓app控制蓝牙_基于python实现蓝牙通信代码实例

    这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装 sudo apt ...

  8. python发送文件给微信好友_基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  9. python爬取素材图片代码_基于Python爬取素材网站音频文件

    基本环境配置 python 3.6 pycharm requests parsel 相关模块pip安装即可 目标网页 请求网页 import requests url = 'https://www.t ...

最新文章

  1. ElasticSearch插件安装
  2. WINCE6.0+S3C2443下的activesync问题
  3. 洛谷P1456 Monkey King
  4. postgresql主从备份_PostgreSQL主从流复制与手动主备切换架构
  5. stm32 USART
  6. 叮叮叮 重点之中的python必备英语单词(2)来啦!请记得查收
  7. SpringBoot从零单排 ------ 拦截器的使用
  8. 最长回文子串manacher算法模板
  9. 老显卡都涨价了,所以我把坏的显卡拿出来修
  10. OpenCV4.5.1 | 使用一行代码将图像匹配性能提高14%
  11. liunx版pgadmin3 source code安装
  12. 数学建模论文写作方法大总结
  13. Google Guice简介
  14. 基于DFS的拓扑排序算法实现
  15. Windows 7下可以使用的虚拟光驱软件
  16. symbian 如何在安装时备份sis文件
  17. 金蝶kis迷你版操作大全
  18. 传统企业如何精准获客?搭上这趟高科技顺风车
  19. 都2022年了 究竟什么叫旗舰手机?
  20. PC版淘宝UWP揭秘

热门文章

  1. 在移动硬盘安装操作系统
  2. Daily Practice 5th:Educational Codeforces Round 120 (Rated for Div. 2)
  3. cgb2111-day02
  4. 农银e管家怎么显示服务器不对,农银e管家APP
  5. CrossFire和SLI
  6. pycharm使用pip install xxx 解决超时问题
  7. 2款免费的安卓后台游戏
  8. 【云宏大讲坛】超融合,融合的不仅是基础架构
  9. 云宏Ceph分布式存储高性能设计
  10. python小数乘法计算_小数乘法100道