Это немного странный вопрос, но я разберусь как смогу. Я работаю над написанием сценария с использованием прокси-серверов, но столкнулся с проблемой автоматизации его части, которая отстой, так как это последняя часть всего, что мне нужно, тогда я готов.
Пример. Допустим, у меня есть список 200 или около того прокси в этом формате, сохраненный в файле .txt:
110.138.183.60:8080
110.138.20.67:8080
110.138.208.116:8008
110.138.237.80:3128
110.138.248.17:8080
110.138.248.78:80
110.139.182.234:8080
ect ect ect...
Первая часть этого скрипта - мне нужно их рандомизировать, так что просто смешайте их все в разных порядках, но убедитесь, что все они оказались в одной строке, как и сейчас.
Вторая часть после рандомизации их , а затем взятия первых 99 рандомизированных прокси и перемещения их в одну строку в этом формате, игнорируя любые прокси после 99th. (Разделенный |, без такового в начале или конце.)
110.138.183.60:8080|110.138.208.116:8008|110.138.237.80:3128|110.138.248.17:8080|110.138.248.78:80|110.139.182.234:8080|110.138.20.67:8080
Третья часть - мне нужна эта новая строка прокси для редактирования и замены строки в файле. В данный момент строка будет выглядеть примерно так:
user_pref("extensions.proxytool.http_proxies", "129.59.26.40:8909|87.106.143.132:3128|85.17.121.205:9090|88.85.125.78:8080|80.82.150.82:8080");
Там, где вы видите прокси в этой строке, мне нужно заменить их новой партией прокси, которую мы только что создали.
Конечный результат выглядит примерно так:
...
user_pref("extensions.proxytool.clear_cookies_on_new_window", true);
user_pref("extensions.proxytool.firstrun", false);
user_pref("extensions.proxytool.http_proxies", "110.138.183.60:8080|110.138.208.116:8008|110.138.237.80:3128|110.138.248.17:8080|110.138.248.78:80|110.139.182.234:8080|110.138.20.67:8080");
user_pref("extensions.proxytool.proxy_type", "http");
user_pref("extensions.proxytool.referer", "default");
...
Я бы не спрашивал так много, если бы я не был в отчаянии, я буквально на последних волосах моего проекта перед его завершением. Любая помощь с благодарностью! Заранее спасибо!
РЕДАКТИРОВАТЬ: Сценарий завершен. Кредит идет на помощь Зак Блум ! Мне стало немного лениво, как работает скрипт python, вместо этого я создал файл prefs по умолчанию с пустой строкой прокси, поэтому вне скрипта python файл prefs по умолчанию копируется в мою программу, а затем скрипт python делает это волшебство и заменяет строку «прокси идут сюда» вновь скомпилированным списком. Еще раз спасибо Зак!
from random import sample
with open("C:/Users/USERACCOUNT/test/today.txt") as proxy_file:
proxies = [proxy.strip() for proxy in proxy_file.readlines()]
proxies = sample(proxies, min(len(proxies), 99))
proxy_str = "|".join(proxies)
import fileinput
import sys
def replaceAll(file,searchExp,replaceExp):
for line in fileinput.input(file, inplace=1):
if searchExp in line:
line = line.replace(searchExp,replaceExp)
sys.stdout.write(line)
replaceAll('C:/Users/USERACCOUNT/test/prefs.js','proxiesgohere',proxy_str)