2017-02-19 16 views
2

Я хотел бы сделать URL-адрес, который ищет, не указав, какой сайт использовать. В идеале он будет искать с помощью поисковой системы по умолчанию, как это обычно используется в адресной строке веб-браузеров. Есть ли протокол или что-то подобное для этого, а если нет, то почему и если есть какие-либо будущие возможности?Есть ли способ сделать URL для поиска без указания сайта?

* Причина этого заключается в создании долгосрочных URL-адресов с данными поиска, которые не полагаются на такую ​​компанию, как Google.

+2

«Нет» приемлемый ответ? – SergGr

+0

Кажется, что «Нет» - это ответ, но я озадачен тем, почему такая полезная функция не была стандартизирована или, по крайней мере, обсуждалась. Где я живу (Япония), коды AR являются стандартными везде, но при использовании поискового запроса они используют URL-адреса Google. Основная причина, по которой я хотел бы это сделать, - предоставить децентрализованные ссылки на данные, которые можно было бы получить, указав теоретически достаточную информацию, чтобы сделать ее уникальной. Все, что потребуется, - это что-то вроде поиска: timestamp = ... & location = ... & info = ... –

ответ

4

Если вы хотите разместить свой собственный сервер, вы можете написать простое приложение Flask, чтобы принять поисковый запрос как параметр и цикл над возможными поисковыми системами, чтобы всегда существовать резерв. Недостатком здесь является то, что вам придется постоянно вносить коррективы в сервер, если будут найдены новые поисковые системы или аналогичные.

Поисковая система является важной частью здесь. Без URL-адреса у вас нет результата поиска.

Я думаю, вы просите общий способ поиска через поисковые системы.

Если это так, большинство поисковых систем разрешают параметр url после конечной точки поиска /search?q=test.

Например:

from flask import Flask, request, abort 
import requests 

app = Flask(__name__) 

@app.route('/search', methods=['GET']) 
def perform_search(): 
    for engine in ['google','bing']: 
     url = 'http://' + engine + '.com/search?q=' + request.values.get('q') 
     if requests.get(url).status_code == 200: 
      return url 
     else: 
      abort(404, "Search engine not found") 


if __name__ == '__main__': 
    app.debug = True 
    app.run("127.0.0.1") 

Это позволит вам построить URL на основе вашего доменного имени, что сервер работает. Если домен был: www.mysearch.com, вы можете поразить его URL: www.mysearch.com/search?q=MYSEARCHTERM.

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

+0

Благодарим вас за подробный ответ, но ответ зависит от URL-адреса, поэтому проблема не решена. Если поиск? Q = MYSEARCHTERM является стандартом дефолта или фактическим стандартом, тогда это может быть возможно использовать в связанных проблемах, но я думаю, что необходимы дополнительные доказательства. –

 Смежные вопросы

  • Нет связанных вопросов^_^