入門:用Python抓取網頁上的免費賬號(六)

ss的gui-config.json文件是json格式的,用python自帶的json模塊就可以輕鬆讀寫。示例代碼如下:

# coding=UTF-8# program name: print_config.py# usage: python print_config.py gui-config.jsonimport os, jsonif len(os.sys.argv) == 2 and os.dir.exist(os.sys.argv[1]): with open(os.sys.argv[1], "r") as json_f: json_data = json.load(json_f) if configs not in json_data.keys(): print(Error, invalid config file: +filename) exit() sslist=json_data[configs] print(sslist)else: print(usage: python print_config.py gui-config.json)# 以下一段是寫入的示例 with open(os.sys.argv[1], "w") as json_f: json_data = json.load(json_f) json_data[index] = 0 json.dump(d, codecs.getwriter(utf-8)(json_f), ensure_ascii=False, indent=4, sort_keys=True )

gui-config.json中index的值是表示configs中第幾個賬號被選中生效。

當最新的賬號信息已經更新到gui-config.json文件中,需要重新啟動ss.exe讓配置生效。在Windows裡面,如果ss.exe這個進程不是用當前用戶啟動的,當前用戶可能沒有許可權kill掉這個ss.exe進程,這個時候需要用「以管理員身份運行」的方式來執行腳本,才能殺掉ss.exe進程。

為了簡化這個問題,最好是保證ss.exe是以當前用戶來啟動的,腳本就可以順利地殺掉ss.exe,然後用windows cmd.exe的start命令重新啟動ss.exe,start命令保證執行腳本的窗口關掉後,ss.exe不會因為是這個窗口的子進程而被關閉掉。

在Python中執行這兩條命令,是這樣的

import osos.system(taskkill /f /im +ShadowsocksR-dotnet4.0.exe)os.system(start C:ShadowsocksR-4.2.3-winShadowsocksR-dotnet4.0.exe)

無論是ss還是ssr,在windows中你都可以觀察到兩個進程,其中一個是Privoxy Server,Privoxy是一個開源的組件,這個進程是proxy server進程,Privoxy可以做socks server也可以是http proxy server。

所以,當你用以下命令殺進程時會看到兩個進程被殺掉,這是正常的,不要覺得奇怪。

taskkill /f /im +ShadowsocksR-dotnet4.0.exe

當你用start命令啟動ss.exe的時候,屏幕上卻不會返回提示信息,悄無聲息。

未完待續

免費賬號信息ssr url的解碼

入門:用Python抓取網頁上的免費賬號(一) - 知乎專欄

AutoSs開源項目介紹

入門:用Python抓取網頁上的免費賬號(二) - 知乎專欄

ssa.py程序運行效果

入門:用Python抓取網頁上的免費賬號(三) - 知乎專欄

ssa.py自動測試免費賬號程序的起源

入門:用Python抓取網頁上的免費賬號(四) - 知乎專欄

update_config.py的使用示例

入門:用Python抓取網頁上的免費賬號(五) - 知乎專欄

讀寫gui-config.json,重啟Shadowsocks客戶端的示例代碼

入門:用Python抓取網頁上的免費賬號(六) - 知乎專欄

獲取免費賬號、測試免費賬號、分發免費賬號的完整方案

入門:用Python抓取網頁上的免費賬號(七) - 知乎專欄

update_config.py自動更新免費賬腳本的介紹

入門:用Python抓取網頁上的免費賬號(八) - 知乎專欄

Mac OS X上的客戶端ShadowsocksX-NG使用plist格式的配置文件,而不是json格式的,能用腳本自動化更新賬號信息嗎?

入門:用Python抓取網頁上的免費賬號(九) - 知乎專欄

如何將含有免費賬號的json文件快速合併到當前ss客戶端的gui-config.json配置文件中

入門:用Python抓取網頁上的免費賬號(十) - 知乎專欄

使用update_config.pyc腳本你需要滿足的條件以及軟體安裝指南

入門:用Python抓取網頁上的免費賬號(A) - 知乎專欄
推薦閱讀:

黃哥推薦學習Python 10本好書。
【Python3網路爬蟲開發實戰】1.7.3-Appium的安裝
【譯文】2016年度Analytics Vidhya上最火爆的36篇文章和資源
python 利用KNN分析商戶是否續約
python非同步asyncio模塊的使用

TAG:Python入門 | Python |