Python 安装包超时,更改国内源

解决方法: 1、添加超时的参数,不使用缓存 pip install –default-timeout=1000 –no-cache-dir 2、使用国内源: 例如: pip install jupyter -i http://pypi.douban.com/simple –trusted-host pypi.douban.com 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

如何正确移除Selenium中的 window.navigator.webdriver

Chrome 79.0.3945.36+ from selenium import webdriver options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option(’useAutomationExtension’, False) driver = webdriver.Chrome(options=options, executable_path=’./chromedriver’) driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, ‘webdriver’, { get: () = undefined }) """ }) driver.get(’http://google.com’) Chrome 旧版本 from selenium.webdriver import Chrome from selenium.webdriver import ChromeOptions option = ChromeOptions() option.add_experimental_option(’excludeSwitches’,[’enable-automation’]) driver =Chrome(options=option)

js replace 全局替换的操作方法

js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。 <script language="javascript"> var strM = "这是要被替换的字符串啊啊!"; //在此我想将字母a替换成字母A alert(strM.replace("啊","额")); </script> 上面这段代码,只能替换第一个字符“啊”,第二个“啊”就无法替换,这样就没办法满足大多数使用js(replace)的需求 <script type="text/javascript" language="javascript"> var s = "这是要被替换的字符换啊啊!"; alert(s); alert(s.replace(/啊/g, "额")); 这样,就可以实现整个字符串的替换。 我们这里用到了正则函数的/g全部的使用。这样就可以实现整个字符串的替换效果。 下面,我们大家可能还有个需求无法满足,那就是,我们替换定值可以使用这个,但是替换变量怎么使用? 接下来,就说一下替换变量的使用方式。 简单介绍一下eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。接下来主要靠这个函数。 <script> var ch = "变量"; var reg = "/"+ch+"/g"; var str = "这是一个变量,这是一个变量"; var val = str.replace(eval(reg),"替换"); alert(val); </script> 但是如果要替换的字符串中含有/符号时,上面的就不能用了,需要采取以下方法 <script> var ch =… Read More »

JS解密相关资料

Javascript \x 反斜杠x 16进制 编解码: js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码: 解码 function decode(str){ return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) }); } decode(’\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72’) "_changeItemCrossLayer" 编码 function encode(str){ return str.replace(/(\w)/g,function(_,$1){ return "\\x"+ $1.charCodeAt(0).toString(16) }); } encode("_changeItemCrossLayer") "\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72" 在线解码地址: 批量  https://jscompress.com/   单个 https://www.mokuge.com/tool/js_x16/

检查代理隐藏效果的几个网址

  https://whatleaks.com/  检查你的IP地址是否有代理迹象,是否属于匿名网络TOR,以及您计算机上的时间设置是否适合您IP的时区 https://whoer.net/  检查Proxy 和 Socks 服务器、给您查看 VPN 服务器的信息、检查IP地址是否被列入到黑色名单、显示 您电脑上Flash 和 Java的启动状态、确定电脑的语言和系统设置、 操作系统和浏览器版本、检查DNS等多种功能 https://2ip.io/privacy/   检查匿名的可能性 https://browserleaks.com/ip  检查浏览器各种信息,包括各种实用浏览器指纹检测 https://www.dnsleaktest.com/  DNS泄露检查 http://www.ip-score.com/ https://www.ipip.net/ip.html

禁用WEBRTC隐藏真实IP

WEBRTC为什么检测到我的真实IP地址? 首先,您需要认识到通过WebRTC显示 PC/平板电脑/电话的所有IP地址,不是VPN / tor / socks的问题或缺点,但这是浏览器的问题。 WebRTC项目是由Google创建的,主要用于在用户浏览器(p2p连接)之间传输流数据(音频和视频),而无需任何辅助软件(例如Skype)或插件。这使支持WebRTC的浏览器不仅可以访问您的网络(独立于操作系统),而且可以通过STUN协议检测您的公共IP地址和本地IP地址,从而绕过任何类型的NAT建立p2p连接。 目前,已知在浏览器Chrome(版本23起),Firefox(版本22起)和Opera(版本18起)中默认启用了WebRTC,这使得这些浏览器的用户无法使用匿名功能。您应该禁用WebRTC的支持,以阻止它检测您的公共IP地址和本地IP地址。 如何在Firefox中禁用WebRTC: Mozilla Firefox中的WebRTC自Firefox 22开始受支持,并且默认情况下处于启用状态。 要禁用RTCPeerConnection并防止IP地址泄漏,请转到about:config并切换media.peerconnection.enabled到false。 要禁用媒体设备,请同时将media.navigator.enabled和切换media.peerconnection.enabled至false。 如何在Opera中停用WebRTC: 转到“设置”->“更多设置”在“ WebRTC”部分中,选择“在没有代理的情况下停用UDP” 如何在Chrome中禁用WebRTC: 自Chrome 23版起,默认情况下启用Google Chrome和基于Chromium的网络浏览器中的WebRTC,无法禁用;目前尚不知道如何通过浏览器设置在Chrome中禁用WebRTC的方法;为了防止IP地址泄漏,请使用官方的webrtc.org扩展WebRTC Network Limiter。 如何在Android中使用Chrome禁用WebRTC: 在最新版的适用于Android的Chrome浏览器上,即使设置中存在此类选项,也无法禁用WebRTC。如果您需要在Android上使用禁用了WebRTC的浏览器,建议您使用Firefox for Android。您可以根据上面的Firefox说明在其中禁用WebRTC。

python在文本开头插入一行

问题 对于一个文本文件,需要在起开头插入一行,其他内容不变 解决方法 with open(’article.txt’, ‘r+’) as f:     content = f.read()     f.seek(0, 0)     f.write(’writer:Fatsheep\n’+content) 其中字符串’writer:Fatsheep\n’中为要插入的内容。 注意 f.seek(0, 0)不可或缺,file.seek(off, whence=0)在文件中移动文件指针, 从 whence ( 0 代表文件其始, 1 代 表当前位置, 2 代表文件末尾)偏移 off 字节

Python–列表如何去掉最后一个元素

在Python3中列表数据类型的内置方法里有三种方法可以删除列表的最后一个元素: <h3>1、pop方法</h3> list = [1,2,3,4] list.pop() print(list) #[1, 2, 3] 2、del方法 list = [1,2,3,4] del(list[-1]) print(list) # [1, 2, 3] 3、切片 list = [1,2,3,4] list = list[0:-1] print(list) # [1,2,3] 总结: 以上三种方法未在内存处理上进行测试,唯一区别,pop方法和del方法如果对空列表进行操作,会报错中断执行,切片方法不会因此报错,继续保持空列表向下运行

Python实现自动定义变量和赋值

今天遇到一个问题,需要实现一个JS加密代码转位Python <script type="text/javascript">q7z6=3876;k1g7=7882;p6k1=6688;l2l2=1166;t0r8=4339;n4u1=6898;z6t0=6582;r8i9=3406;m3n4=4100;s9c3=5023;z6k1m3=0^q7z6;s9g7z6=1^k1g7;p6d4t0=2^p6k1;u1y5a1=3^l2l2;k1x4h8=4^t0r8;y5j0o5=5^n4u1;j0q7q7=6^z6t0;w3l2k1=7^r8i9;g7a1e5=8^m3n4;b2o5w3=9^s9c3;</script> 先获取到JS定义的内容 html = ‘q7z6=3876;k1g7=7882;p6k1=6688;l2l2=1166;t0r8=4339;n4u1=6898;z6t0=6582;r8i9=3406;m3n4=4100;s9c3=5023;z6k1m3=0^q7z6;s9g7z6=1^k1g7;p6d4t0=2^p6k1;u1y5a1=3^l2l2;k1x4h8=4^t0r8;y5j0o5=5^n4u1;j0q7q7=6^z6t0;w3l2k1=7^r8i9;g7a1e5=8^m3n4;b2o5w3=9^s9c3;’ 然后转为列表,并去掉最后一个空元素, html = html.split(";") html.pop() 然后循环取值赋值 exec(‘{} = {}’.format(kv[0],kv[1])) 实现自动定义变量和赋值 for i in html:       kv = i.split("=")     exec('{} = {}’.format(kv[0],kv[1]))     print(kv[0])

Python正则findall函数捕获分组的问题

Python下 findall()函数在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 但是如果正则表达式里面有()分组的话,它默认是要返回所有的满足条件的分组,返回元组格式 例如 html = ”’103.216.82.199:6667 174.70.241.7:24385”’ pattern = re.compile(r'(([0-9]{1,3}\.){3}([0-9]{1,3}):[0-9]{1,5})’) proxies = pattern.findall(html) //   [(‘103.216.82.199:6667′, ’82.’, ‘199’), (‘174.70.241.7:24385’, ‘241.’, ‘7’)] 返回的就是包含子组的元组,然后组成列表, 可使用 proxies = [match[0] for match in pattern.findall(html)] //  [‘103.216.82.199:6667’, ‘174.70.241.7:24385’] 获取对应的子组内容 如果需要取消捕获分组的话,对应子组括号加上?: pattern = re.compile(r'(?:(?:[0-9]{1,3}\.){3}(?:[0-9]{1,3}):[0-9]{1,5})’) proxies = pattern.findall(html) //  [‘103.216.82.199:6667’, ‘174.70.241.7:24385’] 结果则返回正则匹配的所有内容