Я хочу найти количество раз, когда веб-страница использовала определенное слово или фразу в разное время за последние несколько лет; и я хотел бы сделать это, используя страницу результатов archive.org как источник страницы с течением времени.
Я достаточно уверен, что есть какой-то инструмент, который может выполнять поиск по сайту на веб-странице , и я знаю, что у archive.org все страницы доступны ...
, но это насколько я понимаю. Я достаточно разбираюсь в некоторых быстрых и грязных сценариях bash и небольшом питоне, но у меня нет опыта прямого доступа к сети. Интернет. Без разницы. (См. Уровень моего невежества?!)
Я предполагаю, что я хочу знать: что было бы хорошим инструментом CLI для подсчета слов любого URL-адреса, который ему передан, и как мне пойти о написании скрипта, который мог бы вернуть URL-адрес ~ 750 страниц с последовательным датированием? Или это возможно?
Я уверен, что есть кто-то, кто мог бы заманить это вместе за считанные секунды, вместо того, чтобы ложно подать мне три абзаца «как», чтобы я мог это сделать один раз, но мне все равно хотелось бы посмотреть, как это будет сделано.
archive.org имеет несколько сейвов в день, а не всегда одно и то же число. Поэтому я хотел бы знать, есть ли способ опросить страницу «результаты», следить за каждым URL-адресом и проверять дату создания и сохранять каждый URL-адрес, который возвращает новую дату в некоторый текстовый файл. Это позволило бы мне создать список веб-страниц с последовательным датированием для шага 2 ...
Если такой инструмент существует, который может искать URL-адрес, сделайте grep (или аналогичный) для некоторого текста b, и вернуть число b, которое он находит, запустить и передать вывод в текстовый файл. Я использую несколько инструментов cli, которые могут выполнять такую гимнастику на локальном диске, но я надеялся, что будет программа, которая может просто сделать:
для xurl в файле somefile.txt; do wordcount -a = $ xurl -b = " b " >> temp.txt; сделано
вы можете скручивать URL-адрес и трассировать его для grep, как это
curl --silent https://www.google.cl | grep -c -i google
Также обратите внимание на -i, это поиск без учета регистра.
Чтобы сделать это в пакет из файла (один URL-адрес)
wordToSearch='google'
#
while read url; do
curl --silent "${url}" | grep -c -i "${wordToSearch}" >> temp.txt
done < fileWithUrl.txt
Я не вижу, как будет выглядеть ваш вкладка в вашу программу или страницу результатов, которую вы упомянули, но вот как я попытаюсь решить эту проблему:
curl позволяет скачать исходный код веб-страницы. Таким образом, curl archive.org/whatever получает страницу результатов в виде обычного текста.
Вы можете передать это в grep и искать привязывающие теги HTML (<a href="location.of/the-linked-page">a description of the link</a>). Вот вызов grep, который может служить отправной точкой: | grep -o '<a href.*</a> (-o печатает только согласованные части строки. Возможно, вам потребуется заменить пространство между a и href классом space или эксперимент с неживыми формами *, в зависимости от вашего ввода.) Вы также получите все ссылки на этой странице, поэтому для удаления навигационных ссылок, объявлений и т. д. необходимы другие (или несколько) раундов (ов) .
Затем, используя sed, вы удаляете «помехи», такие как <a>, href и т. д., чтобы получить только чистую ссылку. Затем вы можете подать вывод в цикл for, который снова использует завиток, чтобы сохранить содержимое этих ссылок. На вывести все , наконец, вы можете выполнить анализ вашего слова, используя grep -c, как указывает vidarlo.
вы можете скручивать URL-адрес и трассировать его для grep, как это
curl --silent https://www.google.cl | grep -c -i google
Также обратите внимание на -i, это поиск без учета регистра.
Чтобы сделать это в пакет из файла (один URL-адрес)
wordToSearch='google'
#
while read url; do
curl --silent "${url}" | grep -c -i "${wordToSearch}" >> temp.txt
done < fileWithUrl.txt
Я не вижу, как будет выглядеть ваш вкладка в вашу программу или страницу результатов, которую вы упомянули, но вот как я попытаюсь решить эту проблему:
curl позволяет скачать исходный код веб-страницы. Таким образом, curl archive.org/whatever получает страницу результатов в виде обычного текста.
Вы можете передать это в grep и искать привязывающие теги HTML (<a href="location.of/the-linked-page">a description of the link</a>). Вот вызов grep, который может служить отправной точкой: | grep -o '<a href.*</a> (-o печатает только согласованные части строки. Возможно, вам потребуется заменить пространство между a и href классом space или эксперимент с неживыми формами *, в зависимости от вашего ввода.) Вы также получите все ссылки на этой странице, поэтому для удаления навигационных ссылок, объявлений и т. д. необходимы другие (или несколько) раундов (ов) .
Затем, используя sed, вы удаляете «помехи», такие как <a>, href и т. д., чтобы получить только чистую ссылку. Затем вы можете подать вывод в цикл for, который снова использует завиток, чтобы сохранить содержимое этих ссылок. На вывести все , наконец, вы можете выполнить анализ вашего слова, используя grep -c, как указывает vidarlo.