Здесь задают несколько вопросов, я постараюсь ответить на них в правильном порядке.
Можно ли сказать Google (или другой поисковой системе) ТОЧНО искать определенное ключевое слово ТОЛЬКО на этих 307 веб-сайтах?
Посмотрите на параметры поиска Google. Вы можете найти точный термин, цитируя его "вот так". Затем вы можете фильтровать по домену (не так, как URL!) с site:
вариант. В вашем случае вы должны построить строку поиска в следующем формате:
"keyword" site:site1.com site:site2.com ...site:site307.com
... прокручивать список с помощью скрипта ... Но разве Google не подумает, что вы бот?
Обычный подход при выполнении нескольких поисков в Google с помощью сценария заключается во вставке (возможно, случайных) задержек, чтобы не выглядеть подозрительно.
... скачать эти 307 веб-страниц с помощью wget ... Это займет много времени.
Если вам нужно время от времени проверять эти веб-сайты, вы можете сохранить локальную копию веб-страниц и периодически обновлять их; локальный поиск должен быть очень быстрым. В противном случае Google будет работать быстрее, потому что он работает с кэшированными результатами и не должен ждать подключения и загрузки. Но, если сайт не работает или не испытывает серьезных проблем, он должен закончиться через 30 секунд или около того. Предположим, у вас есть список URL-адресов в файле с именем list.txt
, вам просто нужно выполнить:
cat "list.txt" | parallel 'wget -q -O - {} | grep keyword'
чтобы увидеть соответствующее содержимое или:
cat "list.txt" | parallel 'if wget -q -O - {} | grep -q keyword; then echo {}; fi'
для URL или:cat "list.txt" | parallel 'if wget -q -O - {} | grep keyword; then echo {}; fi'
чтобы показать оба.
Разве у Google нет встроенного метода для поиска по списку URL-адресов?
Да, есть Пользовательский поиск:
С помощью пользовательского поиска Google вы можете:
- Создавайте пользовательские поисковые системы, которые выполняют поиск по определенной коллекции сайтов или страниц.