Baixe a versão mais recente (Windows, Linux)
Ruxx é um downloader de conteúdo com muitos filtros para máxima precisão de pesquisa (e GUI feia). Os sites suportados estão na descrição, em todos os outros lugares – apenas abreviações
Observe que Ruxx não restringe suas pesquisas a algumas páginas ou algo assim. Você pode até procurar algo como id:>=0 (tudo), mas isso não funcionará, pois os sites realmente colocam um limite no máximo de resultados de pesquisa retornados. Para algo estúpido como isso você terá que dividir suas pesquisas usando o filtro de id. Além disso, você ainda pode ser banido por abusar do recurso. Ruxx não é uma ferramenta de raspagem
dd-mm-yyyy
, ignorada se definida como padrão (min: 01-01-1970
, max:
). Digite algum jargão para redefinir o padrão. Somente RX, RN, RZ, RP e EN Note that only recognized parameters will be loaded - missing parameters will just stay unchanged without any errors given, so if you want to not save some parameters (ex. window position) just remove associated rows from the file
.cfg
com o executável e o Ruxx irá selecioná-la e configurá-la automaticamente. Você deve usar um dos seguintes nomes: ['ruxx.cfg', 'auto.cfg', 'settings.cfg', 'config.cfg']cf_clearance
, e o cabeçalho User-Agent
deve corresponder àquele usado em seu navegador para o site de destino ‒ para encontrá-lo enquanto navega no site, abra Web Developer tools -> Network
(ou similar), recarregue a página e verifique request headers
(id:x~id:y~id:z)
que é uma expressão de grupo OR , permitindo efetivamente que você pesquise esses ids.1.1.284
para todos os módulos usando uma solução alternativa, mas não é executado em paralelo, portanto, esteja ciente dissovideos
/ images
/ flash (RN, EN)
ou pela própria extensão. Observe que os arquivos jpeg
e jpg
serão colocados na pasta jpg0.5 10 3.0 5.00
100 250 50 500
AND
, grupos OR
com meta tags, etc.). Como resultado, o campo Tags piscará brevemente em verde/vermelho. Além disso, se for bem-sucedido, uma janela aparecerá mostrando o número de resultados encontrados. Observe que esse número pode não ser igual à contagem de arquivos que você baixará, pois filtros de data, filtros de tipo de arquivo e filtros de postagens relacionadas não se aplicam durante esta verificação rápida; ao usar favorited_by:X
ou pool:X
metatags especiais, tags negativas também não se aplicam (exceto para a tag favorited_by
do módulo RN, onde é suportada nativamente)Ruxx normalmente permite a maioria dos símbolos para pesquisa de tags, mas existem alguns detalhes:
*
como curinga em tags (qualquer número de símbolos). Você pode usar qualquer número de curingas em tags em qualquer lugar: b*m*e_cit*
em vez de baltimore_city
. Para alguns motores de busca *
é apenas um símbolo que uma tag normal pode conter, nomeadamente: RZ; mas você ainda pode usar curinga -t*ags
.*_city
funcionará para RN, RS, RP e EN, mas RX retornará o resultado padrão (todos)-tags
podem ser usadas para exclusão: -rating:explicit
id:>X id: . Veja abaixo para mais sintaxe- Meta
-tags
não podem ser usadas com desigualdade, como -score:<0
. Em vez disso, inverta a comparação: score:>=0
- Meta
-tags
não podem ser usadas com sort: -sort:score
, esta sintaxe não causará erro, mas seu comportamento é indefinido. Por favor, use o bom senso
sort
e order
para RX/RS e RN/RP respectivamente), você só pode usá-las se não entrarem em conflito com outros parâmetros (por exemplo, filtros de data)id:X
(OU id:=X
), id:>X
, id: , id:>=X
, id:<=Y
. X
, Y
=
score:X
(OU score:=X
), score:>X
, score: , score:>=X
, score:<=Y
. X
, Y
=
>
parent:X
(OU parent:=X
). X
=
width:X
(OU width:=X
), width:>X
, width: , width:>=X
, width:<=Y
. X
, Y
=
>
height:X
(OU height:=X
), height:>X
, height: , height:>=X
, height:<=Y
. X
, Y
=
>
user:X
. X
=
rating:X
. X
=
, ex. safe
, questionable
, explicit
.md5:X
, X
=
sort:X[:Y]
. X
=
, ex. score
, id
(padrão). Y
=
(opcional), asc
ou desc
(padrão)id=X
, id>X
, id , id>=X
, id<=Y
. X
, Y
=
score=X
, score>X
, score , score>=X
, score<=Y
. X
, Y
=
>
favorited_by=X
. X
=
width=X
, width>X
, width , width>=X
, width<=Y
. X
, Y
=
>
height=X
, height>X
, height , height>=X
, height<=Y
. X
, Y
=
>
user=X
. X
=
rating:X
. X
=
, ex. q
, s
, etc.order=X
. X
=
, id_desc
ou score_desc
id:X
(OU id:=X
), id:>X
, id: , id:>=X
, id:<=Y
. X
, Y
=
score:X
(OU score:=X
), score:>X
, score: , score:>=X
, score:<=Y
. X
, Y
=
>
width:X
(OU width:=X
), width:>X
, width: , width:>=X
, width:<=Y
. X
, Y
=
>
height:X
(OU height:=X
), height:>X
, height: , height:>=X
, height:<=Y
. X
, Y
=
>
user:X
. X
=
rating:X
. X
=
, ex. safe
, questionable
, explicit
.sort:X[:Y]
. X
=
, ex. score
, id
(padrão). Y
=
(opcional), asc
ou desc
(padrão)id:X
(OU id:=X
), id:>X
, id: , id:>=X
, id:<=Y
. X
, Y
=
score:X
(OU score:=X
), score:>X
, score: , score:>=X
, score:<=Y
. X
, Y
=
>
id=X
, id>X
, id , id>=X
, id<=Y
. X
, Y
=
score=X
, score>X
, score , score>=X
, score<=Y
. X
, Y
=
>
favorited_by=X
. X
=
width=X
, width>X
, width , width>=X
, width<=Y
. X
, Y
=
>
height=X
, height>X
, height , height>=X
, height<=Y
. X
, Y
=
>
poster=X
. X
=
order=X
. X
=
, id_desc
ou score_desc
id:X
, id:>X
, id: , id:>=X
, id:<=Y
. X
, Y
=
score:X
, score:>X
, score: , score:>=X
, score:<=X
. X
, Y
=
.
favorited_by:X
, favoritedby:X
ou fav:X
. X
=
parent:X
. X
=
width:X
, width:>X
, width: , width:>=X
, width:<=Y
. X
, Y
=
>
height:X
, height:>X
, height: , height:>=X
, height:<=Y
. X
, Y
=
>
user:X
. X
=
rating:X
. X
=
, ex. safe
, questionable
, explicit
md5:X
, X
=
sort:X[_asc|_desc]
. X
=
, ex. score
, id
(padrão id_desc
):X..
(ex. score:5000..
é igual a score:>=5000
):..X
(ex. score:..-500
<=> score:<=-500
):X..
(ex. id:5000000..
<=> id:>=5000000
):X..Y
(ex. score:90..99
<=> score:>=90 score:<=99
)OR
gruposOR
é simplificada em comparação com o que você normalmente usaria para RX: (tag1~tag2~...~tagN)
em vez de ( tag1 ~ tag2 ~ ... ~ tagN )
OR
com qualquer módulo, independentemente de o site suportar nativamente ou nãoOR
não pode ser negativo e precisa ser desembrulhado:-(tag1~tag2~tag3)
=> -tag1 -tag2 -tag3
OR
(id:=X~score:=Y)
é quebrado (RX), nem sempre confiável (EN) ou totalmente impossível (RS, RN, RZ, RP), Ruxx sempre desembrulhará esses grupos para processá-los adequadamente-(tag1,tag2,...,tagN)
. Ruxx permite filtrar combinações de tags (postagens onde todas as tags do grupo estão presentes), o que normalmente você não pode fazer usando o mecanismo de busca de sites. Além dos símbolos normais de tags, em tags de grupos negativos você pode usar símbolos curinga ?
e *
para any symbol
e any number of any symbols
respectivamente. Você também pode usar o símbolo de barra vertical |
para regex direto OR
composição de grupo. Exemplo: -(tag?1,ta*g2|tag3)
será efetivamente convertido em expressões regulares "^tag.1$"
e "^ta.*g2|tag3$"
para verificar, postagens com tags correspondentes a ambas serão obtidas filtrado-tags
normais, o grupo negativo não verificará os aliases das tagssort:...
tag ou apenas -tags
-tags
para restringir a pesquisa. Se a consulta resultante for muito longa, Ruxx criará automaticamente um grupo negativo específico a partir de -tags
excessivas e os usará como filtro adicional. A mensagem será dada da seguinte forma: 'excluded tags combination' custom filter(s) parsed
RZ
: máximo de 3
tags
, máximo de 3
-tags
, 6
total
RP
: máximo de 3
tags & -tags
, 3
total
EN
: máximo de 40
tags & -tags
, 40
total
, máximo de 1
wildcard
-tags
extras serão convertidas em um grupo negativo e usadas localmente como um filtro interno (e atrapalharão os resultados das 'tags de verificação'). Observe que isso se aplica apenas a -tags
, exceder o limite positivo de tags resultará em um erro-t*ags
curinga em um único grupo negativo para evitar expansão indesejada de tags (veja abaixo), resultando em muitos -tags
, é realmente simples: '-a -b -c -d* -f*g*h*j' -> '-a -b -c -(*,d*|f*g*h*j)'
RZ
tags
, -tags
e tags
no grupo OR
devem ser válidas para obter quaisquer resultados de pesquisa. As tags são consideradas válidas somente se:r
, t
, etc., também &
e sequências de escape unicode como u00a0
t*ags
: nunca (inválido)-t*ags
: sempre(t1~t*2)
: nunca (inválido)-(t1,t*2)
: nunca (convertido para regex)Expanding tags from wtag ' pale*s ' ...
- ' pale_eyes '
- ' pale_soles '
%
, ex: %mumbling%
(1 postagem, não listado) ou, se negativo: -%mumbling%
Ruxx fornece listas de tags conhecidas para todos os módulos (exceto RS), que também podem ser usadas para tentar completar qualquer palavra digitada no campo Tags
Found 5 tag lists:
- /rx_tags.txt
- /rn_tags.txt
- /rz_tags.txt
- /rp_tags.txt
- /en_tags.txt
2tags/
)
, na primeira vez que você usá-la, Ruxx tentará carregar as tags do módulo atual no armazenamento - isso exigirá um pouco de memória extra, essa memória também será liberada se o recurso de preenchimento automático for obtido desativado novamenteRuxx não fornece um método de autenticação nativo em nenhum dos sites suportados. Para usar sua identidade durante a pesquisa você precisa seguir 3 passos simples:
Web Developer tools -> Network
e recarregue a página, procure request headers
Headers / Cookies
e preencha as tabelas de conexão Ruxx de acordo:User-Agent
(remova o valor existente primeiro)cf_clearance
, user_id
, pass_hash
cf_clearance
, shm_user
, shm_session
user_id
, pass_hash
_danbooru_session
, remember
cf_clearance
é de 15 minutos O download dos favoritos do usuário usando a funcionalidade de pesquisa de tags nativas está disponível apenas com RN, RP e EN (veja meta tags acima), outros sites não implementam isso nem por tags nem por API. Para permitir que os usuários baixem seus favoritos, Ruxx implementa a tag favorited_by
também para outros módulos. É uma camada extra de funcionalidade, mas aqui está o que você precisa para usá-la:
favorited_by:X
. X
=
. ID do usuário que você pode obter na página de favoritos do usuário, faz parte de seu endereço da web. Nota: esta sintaxe também não é inválida como tag RN/RP/EN, mas não fará nada lácf_clearance
(veja acima), pois não faz parte do dapiid:x
, ele ainda pode usar favorited_by:name / id
, tags
/ -tags
não podem ser usadas (grupos negativos podem), ao mesmo tempo não sofre nenhuma desaceleração O download do post pool usando a funcionalidade de pesquisa de tags nativas não é possível e apenas RX e EN implementam a funcionalidade do pool
Para baixar o pool RX, use uma tag pool
especial:
pool:X
. X
=
. ID do pool que você pode obter na página do pool, faz parte do endereço da webpool:Y
. Y
=
. O nome do pool deve estar em letras minúsculas e com todos os espaços substituídos por sublinhados, ex. 'Long Night' -> 'pool:long_night'
cf_clearance
(veja acima), pois não faz parte do dapiO módulo EN também permite a criação de conjuntos de postagens. Essencialmente, eles não são diferentes das piscinas:
set:X
, X
=
. O ID do conjunto pode ser extraído do endereço da página definidaset:Y
. Y
=
. Importante: o nome abreviado do set não é igual ao seu nome no set list e só está listado em sua própria página! É possível usar Ruxx como ferramenta cmdline. Na janela principal você encontrará a seção Cmd
– ela gera seus argumentos cmdline toda vez que você faz uma alteração – use esses argumentos como exemplo. Na janela do console você pode precisar escapar de alguns deles (caminho, grupos OR
, tags contendo pontos, etc.). A maioria dos argumentos são opcionais - os únicos necessários são tags
(o módulo padrão é RX)
É necessário Python 3.9 ou superior. Consulte requirements.txt
para dependências adicionais. Instale com:
python -m pip install -r requirements.txt
Para executar Ruxx diretamente usando python target ruxx_cmd.py
ou ruxx_gui.py
python ruxx_cmd.py <...args>
- executa o comando Ruxxpython ruxx_gui.py
- execute a GUI do Ruxx ...ou apenas use ruxx.py
universalmente
python ruxx.py <...args>
- executa o comando Ruxxpython ruxx.py
- execute a GUI do Ruxx Invoque Ruxx --help
ou python ruxx_cmd.py --help
para obter ajuda completa
Ruxx registrará a maioria de suas ações, que você pode ver na janela Log
Se ocorrer algum problema, ele fornecerá algumas informações, a menos que seja um erro fatal inesperado. Ruxx é capaz de resolver a maioria dos erros de rede não fatais e contratempos de IO, incluindo pesquisas perdidas (sobrecarga de pesquisa), tags eletrônicas não correspondentes, incompatibilidade de tamanho de arquivo, pacotes malformados, etc.
Ruxx é escrito em Python (3.9 para Windows, 3.11 para Linux). Linhas de código: 12700+. Executáveis construídos usando PyInstaller 6.1
Para relatórios de bugs, perguntas e solicitações de recursos, use nosso rastreador de problemas