基于Python打造账号共享浏览器功能
本篇文章介绍的内容会涉及到以下知识:
- 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实现随机调用一个浏览器打开网页
前两天总结了一下python爬虫 使用真实浏览器打开网页的两种方法总结 但那仅仅是总结一下而已,今天本文来实战演练一下 依然使用的是 webbrowser 这个模块 来调用浏览器 关于的三种打开方式在上一篇文章中已经说过了,这里不再赘述 如果没有特意注册,那么将会是使用默认的浏览器来打开网页,如下: #默认浏览器 #coding:utf-8 import webbrowser as web #对导入的库进行重命名 def run_to_use_default_browser_open_url(u
-
浅谈python爬虫使用Selenium模拟浏览器行为
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动态加载的图片该怎么爬取到. 分析 他的代码比较简单,主要有以下的步骤:使用BeautifulSoup库,打开百度贴吧的首页地址,再解析得到id为new_list标签底下的img标签,最后将img标签的图片保存下来. headers = { 'User-Agent':'Mozilla/5.0 (Win
-
python爬虫 使用真实浏览器打开网页的两种方法总结
1.使用系统自带库 os 这种方法的优点是,任何浏览器都能够使用, 缺点不能自如的打开一个又一个的网页 import os os.system('"C:/Program Files/Internet Explorer/iexplore.exe" http://www.baidu.com') 2.使用python 集成的库 webbroswer python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法: import webbrowser webbrowser.
-
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
以豆瓣为例,访问https://www.douban.com/contacts/list 来查看自己关注的人,要登录才能查看. 如果用requests.get()方法获取这个http,没登录只能抓取回一个登录界面,所以我们要用Python登录网站才能抓取想要的网页. 一个简便的方法就是自己在浏览器上登录好,然后通过下图方法(Chrome为例),找到自己的Cookie和User-Agent,然后发送request时用这复制来的header替换掉待发送的request以达到登录的目的,server端
-
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0") #创建一个opener opene
-
python selenium 对浏览器标签页进行关闭和切换的方法
1.关闭浏览器全部标签页 driver.quit() 2.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页A) driver.close() 3.关闭当前标签页(从标签页A打开新的标签页B,关闭标签页B) 可利用浏览器自带的快捷方式对打开的标签进行关闭 Firefox自身的快捷键分别为: Ctrl+t 新建tab Ctrl+w 关闭tab Ctrl+Tab /Ctrl+Page_Up 定位当前标签页的下一个标签页 Ctrl+Shift+Tab/Ctrl+Page_Down 定位当前标签页的
-
基于Python打造账号共享浏览器功能
本篇文章介绍的内容会涉及到以下知识: PyQt5的使用; Selenium的使用; 代理服务器的架设和使用: 一.账号限制之痛 在如今的互联网中,免费的信息和资源占据了很大一部分,各类互联网应用提供了各行各业的资讯和资源.这是互联网能够不断繁荣和扩大的重要原因之一. 与此同时,一些收费或不公开的互联网应用则构成了互联网世界中更有价值和意义的部分. 一些限制性较低的网站,可能仅仅需要进行用户登录即可使用服务: 一些限制性中等的网站,则可能会出于账户安全或是其他方面的因素考虑,限制账号在一定时间一定
-
基于Python实现交互式文件浏览器
目录 引子 应用场景 源代码 源代码说明 效果如下所示 引子 在许多应用程序中,需要方便地查看特定文件夹中的所有图片,例如图库管理器.相册应用程序.图片编辑器等.如果手动浏览文件夹并查看每个文件,可能会非常耗时和繁琐.因此,为了提高用户体验和工作效率,这段代码使用 wxPython 库创建了一个包含文件和文件夹的树状结构,并限制树状结构中只显示图片文件.这使得用户可以方便地在树状结构中浏览和选择图片文件,而无需手动搜索和筛选.此外,该程序还提供了一个预览窗格,用于在用户选择图片后显示其缩略图或完
-
基于Python实现的ID3决策树功能示例
本文实例讲述了基于Python实现的ID3决策树功能.分享给大家供大家参考,具体如下: ID3算法是决策树的一种,它是基于奥卡姆剃刀原理的,即用尽量用较少的东西做更多的事.ID3算法,即Iterative Dichotomiser 3,迭代二叉树3代,是Ross Quinlan发明的一种决策树算法,这个算法的基础就是上面提到的奥卡姆剃刀原理,越是小型的决策树越优于大的决策树,尽管如此,也不总是生成最小的树型结构,而是一个启发式算法. 如下示例是一个判断海洋生物数据是否是鱼类而构建的基于ID3思想
-
基于Python实现天天酷跑功能
感觉上次写的植物大战僵尸与俄罗斯方块的反应还不错,这次这个文章就更有动力了 这次就写一个天天酷跑吧 写出来的效果图就是这样了 下面就更新一下全部的代码吧 还是老样子先定义 import pygame,sys import random 写一下游戏配置 width = 1200 #窗口宽度 height = 508 #窗口高度 size = width, height score=None #分数 myFont=myFont1=None #字体 surObject=None #障碍物图片 surG
-
基于Python实现评论区抽奖功能详解
目录 1. 分析评论接口 2. 获取评论数据 3. 筛选评论用户 4. 抽取幸运观众 5. 完整源码 5.1 字符串截取的方式 5.2 正则匹配方式 5.3 执行结果 1. 分析评论接口 首先,我们需要找到评论数据的「接口」,也就是网站获取评论数据的请求. 打开一个需要抽奖的文章,进入「开发者模式」(按F12 或 右键检查),选中 Network 选项,同时「刷新」文章页面,使其重新发送请求,在右侧工具栏中观察页面发送的请求,逐个分析请求,根据响应内容判断出获取评论的请求 在 Headers 栏
-
基于Python实现通过微信搜索功能查看谁把你删除了
场景:查找who删了我,直接copy代码保存到一个python文件who.py,在python环境下运行此文件 代码如下,copy保存到who.py文件在python环境直接运行: #!/usr/bin/env python # coding=utf-8 from __future__ import print_function import os try: from urllib import urlencode, quote_plus except ImportError: from url
-
基于Python实现口罩佩戴检测功能
目录 口罩佩戴检测 一 题目背景 1.1 实验介绍 1.2 实验要求 1.3 实验环境 1.4 实验思路 二 实验内容 2.1 已知文件与数据集 2.2 图片尺寸调整 2.3 制作训练时需要用到的批量数据集 2.4 调用MTCNN 2.5 加载预训练模型MobileNet 2.6 训练模型 2.6.1 加载和保存 2.6.2 手动调整学习率 2.6.3 早停法 2.6.4 乱序训练数据 2.6.5 训练模型 三 算法描述 3.1 MTCNN 3.2 MobileNet 四 求解结果 五 比较分析
-
基于Python实现一键获取电脑浏览器的账号密码
目录 导语 相关文件 开发工具 环境搭建 原理简介 导语 发现很多人在学校图书馆喜欢用电脑占座(以古度今,我好像好多年没去过学校图书馆了),而且出去的时候经常不锁屏,为了让大家养成良好的习惯,我来带大家写个小程序吧,无需输入任何密码就可以快速获取你存储在电脑浏览器中的所有账号和密码,算是通过实践出真知来给大家提个醒了~ 废话不多说,让我们愉快地开始吧~ 相关文件 Github地址 开发工具 Python版本:3.7.8 相关模块: pikachupytools模块: pycryptodome模块
-
python基于搜索引擎实现文章查重功能
前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦.近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制.黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获取源码等资料.这种恶劣的行为使人愤慨. 本文使用搜索引擎结果作为文章库,再与本地或互联网上数据做相似度对比,实现文章查重:由于查重的实现过程与一般情况下的微博情感分析实现流程相似,从而轻易的扩展出情感分析功能(下一篇将在此篇代码的基础上完成数据采集.清洗到情感分析的整个过程). 由于近期时间上并不充
-
基于Python实现微信自动回复功能
大家好,之前我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回复的功能. 实现自动回复的功能,我们需要用到图灵机器人,网址为:http://www.turingapi.com,我们在浏览器中输入上述网址打开,之后点击注册/登录按钮,如下图所示: 打开后如下图所示: 我们接着点击立即注册,就跳转到了注册页,如下图所示: 我们先填写必填信息,填写完之后点击注册按钮即可,注册成功之后便跳到了机器人管理页面,如下所示: 我们点
随机推荐
- ASp.net下fckeditor配置图片上传最简单的方法
- sql2005 sa执行命令方法总结
- javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
- 关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- android notification 的总结分析
- 浅析linux下apache服务器的配置和管理
- PHP将DateTime对象转化为友好时间显示的实现代码
- 零基础学Python(一)Python环境安装
- 新型ASP后门源代码分析
- 详解iOS设计中的UIWindow使用
- C#二维数组基本用法实例
- 经典的20道AJAX面试题(必知必会)
- linux shell 脚本实现tcp/upd协议通讯(重定向应用)
- SQL Server无日志恢复数据库(2种方法)
- 使用jQueryMobile实现滑动翻页效果的方法
- jquery实现页面图片等比例放大缩小功能
- jQuery.clean使用方法及思路分析
- 仿51JOB的地区选择效果(可选择多个地区)
- Android编程操作联系人的方法(查询,获取,添加等)