Estoy buscando una forma de pseudo-araña de un sitio web. La clave es que realmente no quiero el contenido, sino una simple lista de URI. Puedo conseguir bastante cerca de esta idea con Wget usando la opción --spider
, pero cuando las tuberías que la salida a través de un grep
, me parece que no puede encontrar la magia derecho a hacer que funcione:Spider a Website and Return URLs Only
wget --spider --force-html -r -l1 http://somesite.com | grep 'Saving to:'
El filtro parece grep
no tener absolutamente ningún efecto en la salida wget
. ¿Tengo algo mal o hay otra herramienta que debería probar que está más orientada a proporcionar este tipo de conjunto de resultados limitados?
ACTUALIZACIÓN
Así que acabo de descubrir en línea que, por defecto, wget
escribe en stderr. Me perdí eso en las páginas man (de hecho, todavía no lo he encontrado si está ahí). Una vez que toqué el retorno a la salida estándar, que me acercaba a lo que necesito:
wget --spider --force-html -r -l1 http://somesite.com 2>&1 | grep 'Saving to:'
todavía estaría interesado en otras mejores medios/para hacer este tipo de cosas, si existe alguna.
Consulte esta pregunta/respuesta de otra manera usando una secuencia de comandos de python: http://stackoverflow.com/questions/9561020/how-do-i-use-the-python-scrapy-module-to-list-all- the-urls-from-my-website –
posible duplicado de [Obtener una lista de URL de un sitio] (http://stackoverflow.com/questions/857653/get-a-list-of-urls-from-a- sitio) –