Diz ao wget para não spider URL correspondente a um padrão?

8

Eu quero testar como meu site se comportaria ao ser spidered. No entanto, desejo excluir todos os URLs que contenham a palavra "página". Eu tentei:

$ wget -r -R "*page*" --spider --no-check-certificate -w 1 http://mysite.com/

O sinalizador -R deve rejeitar o padrão de URL que contém a palavra "página". Exceto que isso não parece funcionar:

Spider mode enabled. Check if remote file exists.
--2014-06-10 12:34:56--  http://mysite.com/?sort=post&page=87729
Reusing existing connection to [mysite.com]:80.
HTTP request sent, awaiting response... 200 OK

Como excluo o spidering de tal URL?

    
por Question Overflow 11.06.2014 / 07:03

2 respostas

5

Depois de algumas tentativas e erros, percebo que a solução é simplesmente usar --reject-regex assim:

wget -r --reject-regex page --spider --no-check-certificate -w 1 http://mysite.com/

O urlregex não deve conter curinga e, portanto, *page* é inválido, mas page é.

    
por 12.06.2014 / 11:59
1

De man wget :

-R rejlist --reject rejlist
           Specify comma-separated lists of file name suffixes or patterns to
           accept or reject.

Esta opção rejeitará apenas arquivos que correspondam ao padrão.

Estritamente falando, no seu URL page é um parâmetro de solicitação, não a última parte do caminho (por exemplo, nome do arquivo).

Você pode querer despejar todos os URLs que foram encontrados (por exemplo, grep o log para todos os URLs baixados), remover os URLs que não satisfazem (com grep -v, por exemplo) e finalmente fazer o wget recuperar os URLs restantes. Por exemplo:

# dump the whole website
wget ... -P dump -o wget.log  ...

# extract URLs from the log file
cat wget.log | grep http | tr -s " " "2" | grep http >urls

# excludes URLs with the word page anywhere in it
cat urls | grep -v page >urls 

# delete previous dump, since it probably contains unwanted files
rm -rf dump

# Fetch URLs
cat urls | xargs wget -x

Você pode adicionar outras opções do wget (por exemplo, --no-check-certificate) de acordo com suas necessidades.

    
por 11.06.2014 / 08:09

Tags