eu estou correndoPrawlerpara obter procuradores.
Eu instalei isso com as instruções fornecidas no GitHub. Também funciona bem, mas gostaria de adicionar uma opção de escolha nele.
Para obter proxies, eu uso o seguinte código:
import Prawler;
Prawler.get_proxy_txt("proxy_list.txt", 50, "http", "elite")'
Gostaria que isso me perguntasse que tipo de proxy eu preciso. Por exemplo, a saída esperada:
Choose Proxy type,
option 1 - http
option 2 - socks4
option 3 - socks5
choose one option from above >
Se eu digitar 1 e pressionar enter, ele substituirá o tipo de proxy por http
Se eu digitar 2 e pressionar enter, ele substituirá o tipo de proxy por meias4
Se eu digitar 3 e pressionar enter, ele substituirá o tipo de proxy por meias5
No meu código principal:
para opção http,
import Prawler;
Prawler.get_proxy_txt("proxy_list.txt", 50, "http", "elite")'
para opção de meias4,
import Prawler;
Prawler.get_proxy_txt("proxy_list.txt", 50, "socks4", "elite")'
para opção de meias5,
import Prawler;
Prawler.get_proxy_txt("proxy_list.txt", 50, "socks5", "elite")'
Não sei como fazer com que peça minha opção de escolha aqui em Python. Eu sou novo em python. Por favor, ajude-me a prosseguir.
Responder1
Não tentei com o Prowler, mas deve funcionar.
Ele armazena a entrada como um str
arquivo nomeado option
.
Ele verifica se a entrada option
está no arquivo dict
nomeado proxy_types
. Ele fará um loop até que você insira 1
, 2
ou 3
.
Quando uma entrada válida é encontrada, ela usa option
comochavepara recuperar o corretovalorde proxy_types
- ou http
, socks4
, ou socks5
. Em seguida, ele sai do loop e chama get_proxy_txt
com o escolhido proxy_type
.
import Prawler
proxy_types = {"1": "http", "2": "socks4", "3": "socks5"}
while True:
option = input("""Choose Proxy type,
option 1 - http
option 2 - socks4
option 3 - socks5
choose one option from above > """)
if option not in proxy_types:
print("Invalid option selected. Choose again.")
continue
proxy_type = proxy_types[option]
break
Prawler.get_proxy_txt("proxy_list.txt", 50, proxy_type, "elite")