0

ジャマイカのイエロー ページからデータを取得しているクライアントのサイトで、PHP フォームに基づいて検索結果を表示する方法について、かなり長い間検索してきました。

カナダの API ( http://www.yellowapi.com/ ) の API を見つけましたが、それ以外は見つかりませんでした。

イエロー ページの結果ページにリダイレクトするために、検索パラメーターを含む URL を使用してみましたが、明らかにうまくいきませんでした。次のようなものです。

<form action="http://jamaicayp.com/Jamaica-Kingston/<?php $_GET['what']?>" 
    method="GET" class="form-input">
    <input type="text" name="what" placeholder="sometext"/>
    <input type="submit" name="some_name" value="Find"/>
</form>

どんな助けでも大歓迎です。

4

2 に答える 2

1

コードにエラーがあると思います:

<?php $_GET['what']?>

する必要があります

<?php echo $_GET['what']; ?>

ただし、これはまだ機能しない可能性があります。そうでない場合は、cURL などを使用する必要があります。

ここには 2 つの問題があります。これを実行できますか。これを実行する必要があります。

あなたはこれができますか?はい。そのページを閲覧できる場合は、そのページを「スクレイピング」できます。これは PHP の私のソリューションです。他にも存在し、「スクレイピング ライブラリ」とフレームワークも調べたいと思うかもしれません。

これを行う必要がありますか?少なくとも、ウェブマスターに連絡して、その結果をあなたのサイトに表示してもよいかどうかを問い合わせるべきです。ある意味では、これはホットリンクよりも悪いことです。他の誰かが単調な作業をしている間に結果を表示しているからです。一部のサイトでは問題ありませんが、他のサイトではそうではありません。サイトがいつスクレイピングされているかを認識し、結果を調整して、スクレイピングを行っている人が何も得られないか、何か厄介なものになることさえあります. だから:聞いてください

于 2015-06-28T20:34:30.697 に答える
1

ジャマイカのイエロー ページが API を許可している場合にのみ可能です。それ以外の場合は、人々を Web サイトにリンクすることしかできません。例:

<?php
$what = $_POST['what'];
$what = urlencode($what);
?>
<form action="http://jamaicayp.com/Jamaica-Kingston/<?php echo $what;?>" method="POST">
<input type="text" name="what" placeholder="sometext"/>
<input type="submit" name="some_name" value="Find"/>
</form>

検索にスペースを含めるには、urlencode が必要です。無効なリンク: something.com/search/this is bad link 適切なリンク: something.com/search/this%20is%20good%20link

于 2015-06-28T20:22:49.527 に答える