Разместить данные в поисковой форме Google - PullRequest
0 голосов
/ 09 мая 2018

Я хотел бы опубликовать строку в поисковой форме Google и получить ссылку на первый результат. Теперь у меня есть простой скрипт без POST и с использованием SimpleHtmlDom.

    $arrContextOptions = [
        'ssl' => [
            'verify_peer' => false,
            'verify_peer_name' => false
        ],
        'http' => [
            'method' => "GET",
            'header' => "Accept-language: en\r\n" .
                "User-Agent:    Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n".
                "Cookie: foo=bar\r\n"
        ]
    ];
$html = HtmlDomParser::file_get_html("http://www.google.com/search?q=".urlencode($title), false, stream_context_create($arrContextOptions));
$link = $html->find("div[id=ires] div[class=g] h3[class=r] a",0)->href;

но проблема в том, что формат этого "href" не в правильном формате, поэтому я не могу его использовать. Я попытался найти какой-нибудь API Google для этого, но безуспешно.

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 09 мая 2018

Вы должны использовать Google API, чтобы сделать это. Google не позволяет пользователю делать это. Даже если вы можете сделать это технически, Google заблокирует ваш IP, потому что это нарушает их политику. Я предлагаю вам использовать https://github.com/imarc/google-site-search для этой цели.

...