2013-04-06 3 views
6

Поиск в Интернете с помощью поисковой системы Google является стандартом de facto для пользователей Интернета. Google предоставляет базовый или advanced form, чтобы подготовить строку запроса к своей поисковой системе. Предполагая, что вас интересует не использование веб-формы, можно просто запросить HTTP-запрос к определенному URL-адресу с строкой запроса, построенной по условиям поиска.Как построить сложный запрос Google Web Search?

Например, я могу найти результаты с словом «привет», выполнив запрос HTTP на:

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

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

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

Вы знаете, поиск может быть более "сложным", указав хорошие параметры, такие как:

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

Как изменить строку запроса для учета указанных выше параметров поиска?

+0

Я надеюсь, что вы знаете, что не с помощью веб-формы и соскабливания страницы результатов нарушает Googles Условия эксплуатации. – Filburt

+0

@Filburt Спасибо! Ты помнишь это мне! Однако мой вопрос касается того, как сделать что-то, а не знать, нарушает ли это условия Google! Я тестирую прототип. Google уже способен защитить себя от меня :) – JeanValjean

ответ

1

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

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

Желание я удачи

+0

Интересная книга – JeanValjean

1

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

+0

Я собираюсь ее протестировать. Я дам вам обратную связь завтра! Спасибо, в любом случае :) – JeanValjean

3

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

Предположим, что вам нужно сделать Una Tantum HTTP вызов с (например, с помощью класса PHP запущенной через CRON один раз в месяц) в поиске Google для извлечения результатов поиска для конкретной строки запроса, например, все страницы с некоторыми словами (т. е. «привет» и «мир») на вашем сайте (т. е. mywebsite.ком), то вы можете сделать HTTP GET позвонить по следующему адресу:

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

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

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

Чтобы получить результаты страниц с одного между «привет» и «мир» (то есть и OR), необходимо изменить параметр запроса „Q“, как:

q=hello+OR+world 

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

as_oq=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 support docs. Например, чтобы получить результаты с синонимом слова, просто используйте оператор ~ перед словом, например.

q=~hello 

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

q="hello+*+world" 

, который, вероятно, будет возвращать что-то вроде: «привет мир» и «привет сладкий Мир".

Можно также найти определенные слова в заголовке страницы или страницы сайта, используя следующие ключевые слова (читай here более подробно):

  • InTitle
  • Allintitle
  • Inurl
  • allinurl

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

q=allinurl:hello+world 

Для языка страницы Google GUI (а не один из результатов), необходимо вставить в строку запроса строку языка (например, 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 
2

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

+0

Извините, но я попробовал (он все еще находится в бета-версии), и он работает не очень хорошо !.Например, он поддерживает поддержку поиска по нескольким файлам, но запрос в Google возвращает 'q =" help "filetype: pdf filetype: eps', который не дает никаких результатов, тогда как правильный запрос будет' q = help + Filetype: pdf + OR + Filetype: eps'. – JeanValjean

+0

Это не ошибка. Просто все условия связаны И по умолчанию. Поэтому вы попросили найти все документы с файлом типа EPS AND PDF, что, очевидно, невозможно. Если вам нужно связать их с помощью OR - измените тип привязки в корневой группе условий от «all» до «any». – DevGuy

2

Для создания комплекса 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") 
Смежные вопросы