Самый быстрый способ получить список значений <title>со всех страниц на сайте localhost - PullRequest
4 голосов
/ 02 декабря 2008

По сути, я хочу сделать паук на своем локальном сайте и создать список всех заголовков и URL-адресов, как в:

http://localhost/mySite/Default.aspx      My Home Page
http://localhost/mySite/Preferences.aspx  My Preferences
http://localhost/mySite/Messages.aspx     Messages

Я использую Windows. Я открыт для всего, что работает - консольного приложения C #, PowerShell, какого-либо существующего инструмента и т. Д. Можно предположить, что тег существует в документе.

Примечание: мне нужно сделать паук в файлах, так как заголовок может быть установлен в коде, а не в разметке.

Ответы [ 5 ]

5 голосов
/ 02 декабря 2008

Быстрый и грязный скрипт Cygwin Bash, который выполняет свою работу:

#!/bin/bash
for file in $(find $WWWROOT -iname \*.aspx); do
  echo -en $file '\t'
  cat $file | tr '\n' ' ' | sed -i 's/.*<title>\([^<]*\)<\/title>.*/\1/'
done

Объяснение: он находит каждый файл .aspx в корневом каталоге $ WWWROOT, заменяет все новые строки пробелами, чтобы между <title> и </title> не было никаких новых строк, а затем извлекает текст между этими тегами.

3 голосов
/ 02 декабря 2008

Я думаю, что сценарий, похожий на , который Адам Розенфилд предложил - это то, что вам нужно, но если вы хотите фактические URL, попробуйте использовать wget. С некоторыми подходящими параметрами он распечатает список всех страниц на вашем сайте (плюс загрузит их, которые, возможно, вы можете отключить с помощью --spider). Программа wget доступна через обычный установщик Cygwin.

0 голосов
/ 02 июля 2009

вы должны рассмотреть возможность использования скрапа

проверить

http://doc.scrapy.org/intro/tutorial.html

в консоли положить что-то вроде этого:

hxs.x ( '/ html / голова / название / текст ()'). Экстракт ()

если вы хотите все названия, вы должны сделать паука ... это действительно легко.

Также рассмотрите возможность перехода на Linux: P

0 голосов
/ 03 декабря 2008

Я бы использовал wget, как описано выше. Убедитесь, что на вашем сайте нет ловушек для пауков .

0 голосов
/ 02 декабря 2008

Хорошо, я не знаком с Windows, но чтобы понять, в каком направлении вы движетесь: используйте XSLT-преобразование с

там, чтобы вернуть заголовок или, если можете, используйте XPath '/ head / title', чтобы вернуть заголовок.

...