Как построить сложный запрос веб-поиска Google?

Поиск в Интернете с помощью поисковой системы Google является стандартом де-факто для пользователей Интернета. . Google предоставляет базовую или расширенную форму для подготовить строку запроса для своей поисковой системы. Предположим, что вы заинтересованы в том, чтобы не использовать веб-форму, можно просто выполнить HTTP-запрос на получение определенного URL-адреса со строкой запроса, созданной на основе условий поиска.

Например, я могу искать результаты со словом "hello", выполнив HTTP-запрос по адресу:

http://www.google.com/search?q=hello

Я могу добавить еще одно слово, например. "мир", например:

http://www.google.com/search?q=hello+world

Вы знаете, поиск можно «усложнить», указав приятные параметры, например:

  • или условие(я)
  • точная фраза (ы)
  • поиск по определенному домену(ам)
  • избегать определенного слова (слов)
  • поиск на определенном языке
  • ограничить поиск по географическому району
  • поиск типа документа
  • и Т. Д.

Как я могу изменить строку запроса, чтобы учесть указанные выше параметры поиска?


person JeanValjean    schedule 06.04.2013    source источник
comment
Надеюсь, вы знаете, что отказ от использования веб-формы и очистки страниц результатов нарушает условия использования Google.   -  person Filburt    schedule 06.04.2013
comment
@Филбурт Спасибо! Вы мне это вспомнили! Однако мой вопрос касается того, как что-то сделать, не знаю, нарушает ли это условия Google! Я тестирую прототип. Гугл уже способен защититься от меня :)   -  person JeanValjean    schedule 06.04.2013


Ответы (5)


Я внимательно изучил ответы Пратика Чоудхури и Робби Веркаммен. Они предоставляют ссылку на веб-документы, содержащие список возможных текстовых фильтров, которые можно использовать в форме поиска Google. Несмотря на то, что это интересно, они не дают ответа на вопрос. Поэтому я много изучал проблему и нашел следующее решение.

Предположим, вам нужно сделать HTTP-вызов una tantum (например, с помощью PHP-класса, запускаемого через CRON один раз в месяц) в Google Search, чтобы получить результаты поиска для определенного строкового запроса, например. все страницы с некоторыми словами (например, «привет» и «мир») на вашем веб-сайте (например, mywebsite.com), вы можете выполнить HTTP-вызов get по следующему адресу:

http://www.google.com/search?q=hello+world+site:mywebsite.com

Параметр q может содержать весь поисковый запрос, однако Google определил список параметров для фиктивного доказательства.

Обратите внимание, что вместо этого оператор AND может быть представлен параметром as_q.

Чтобы получить результаты страницы с единицей между «привет» и «мир» (т.е. и ИЛИ), необходимо изменить параметр запроса «q» следующим образом:

q=hello+OR+world

в то время как более компактное представление использует параметр as_oq:

as_oq=hello+world

Если искать точную фразу «hello world», параметр q будет таким:

q="hello+world"

в то время как, опять же, другое компактное представление использует параметр as_epq:

as_epq=hello+world

Если искать все результаты, не содержащие слов «привет» и «мир», параметр q будет таким:

q=-hello+-world

в то время как, опять же, другое компактное представление использует параметр as_eq:

as_eq=hello+world

Конечно, as_q, as_oq, as_epq, as_eq и т. д. можно, как обычно, объединить в уникальный поисковый запрос (например, с помощью символа &). Таким образом, например, я могу искать оба слова «привет» и «слово» плюс одно между «программированием» и «кодом», как показано здесь:

q=hello+world&as_oq=programming+code

Можно выполнить поиск определенного домена (опять же, mydomain.com) следующим образом:

as_sitesearch=mydomain.com

Однако если вы хотите исключить определенный домен (например, из-за того, что он является источником спама), вы должны вернуться к стандартной записи. Например.:

q=hello+-site:mydomain.com

вернуть все страницы со словом "привет", которые не находятся на сайте mydomain.com.

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

as_filetype=pdf

Можно использовать более сложный параметр поиска, как указано в документах службы поддержки Google. . Например, чтобы получить результаты с синонимом слова, просто используйте оператор ~ перед словом, например.

q=~hello

Более того, если вы хотите использовать подстановочные знаки, например. чтобы получить все точные фразы, которые начинаются с «привет» и заканчиваются на «мир», вы должны использовать оператор *:

q="hello+*+world"

который, вероятно, вернет что-то вроде: «привет миру» и «привет, милый мир».

Можно также искать определенные слова в заголовке страницы или в URL-адресе страницы, используя следующие ключевые слова (см. google" rel="nofollow noreferrer">здесь для более подробной информации):

  • титул
  • allintitle
  • нарушать
  • аллинурл

Например, следующее возвращает все страницы s.a. оба слова «привет» и «мир» находятся в URL-адресе:

q=allinurl:hello+world

Для языка страницы графического интерфейса Google (не одного из результатов) необходимо вставить в строку запроса языковую строку (например, en для английского, fr для французского, it для итальянского и т. д.) в параметр hl. Другими словами, если выполнить поиск в английской версии Google, строка запроса станет следующей:

http://www.google.com/search?hl=en&q=hello+world+site:mywebsite.com

Чтобы выбрать определенный язык, например. Итальянец, используйте параметр запроса lr:

lr=lang_it

Также можно выбрать страницы, опубликованные в определенном географическом регионе, с помощью параметра cr. Например, чтобы найти все страницы, опубликованные в Италии:

cr=countryIT
person JeanValjean    schedule 07.04.2013

Для создания сложных запросов and/or можно использовать () и OR.

Например, если мы хотим найти

("tschakk buff" AND "boom bang") OR ("zata tong" AND "zong klirr")

Запрос будет выглядеть так:

https://www.google.com/search?q=("tschakk%20buff"%20"boom%20bang")%20OR%20("zata%20tong"%20"zong%20klirr")
person Pwdr    schedule 23.06.2014

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

Название книги — «Опасный Google — поиск секретов» Михала Пиотровски, написанное каким-то журналом hackin9.

Желаю удачи

person pratikpc    schedule 06.04.2013

Если вы пытаетесь составить свой собственный URL-адрес, вводя его вручную перед использованием, этот сайт должен оказаться полезным: http://www.googleguide.com/advanced_operators.html

person DerpyNerd    schedule 06.04.2013
comment
Я собираюсь проверить это. Завтра дам вам обратную связь! Спасибо, в любом случае :) - person JeanValjean; 06.04.2013

Advangle – это хороший бесплатный сервис, с помощью которого вы можете визуально создавать запросы для веб-поиска и получать строку запроса (или URL-адрес для Google и Bing). ) в результате.

person DevGuy    schedule 10.04.2013
comment
Извините, но я попробовал это (это все еще бета-версия), и это не очень хорошо работает!. Например, кажется, что он поддерживает поиск по нескольким типам файлов, но запрос в Google возвращает q="help" filetype:pdf filetype:eps, что не дает результатов, тогда как правильный запрос будет q=help+filetype:pdf+OR+filetype:eps. - person JeanValjean; 11.04.2013
comment
Это не ошибка. Просто все условия связаны по И по умолчанию. Итак, вы попросили найти все документы с файлами типа EPS и PDF, что, очевидно, невозможно. Если вам нужно соединить их по ИЛИ - измените тип связывания в корневой группе условий со всех на любые. - person DevGuy; 30.04.2013
comment
Ссылка мертва. - person ruohola; 26.03.2020