-4

こんにちは、イタリアン レストランの電話番号を取得するために、yelp のようなサイトをスクリーン スクレイピングしたいと考えています。必要なことを行うための簡単なプログラムを作成しましたが、サーバーの IP がブロックされました。

私はそれを行うためにphpを使用しています。どうすれば IP ブロックを通過できますか?

screen-scraper のようなプログラムについて聞いたことがありますが、まだ使用したことがありません

それを行う最良の方法は何ですか?phpでスクリーンスクレーパーを使用することは可能ですか?

注意してください*これは私が取り組んでいる個人的なプロジェクトのためのものであり、それからビジネスを作成するものではありません

4

2 に答える 2

8

商業的利益のためにこれを行っている場合は、その場でやめてください。同じデータを取得するための認可された手段を見つけることができるかどうかを確認するか、舗装を自分で叩いてください。一部の企業は、あなたのような人を捕まえるために意図的に間違いや識別可能なタイプミスを情報に挿入し、知的財産を保護するために法的措置を講じます (他の方法で収集された場合、その情報は完全に無料ですが)。安いからと言って高額になってしまうこともあります。

商業的利益のためにこれを行っていない場合 (そしてイタリア料理が本当に好きな場合)、サーバーを移動するか、IP ブロックが解除されるまで待ちます (決して解除されない可能性があります)。コードを書き直して、リクエストに大規模なレート リミッターを設定します (ユーザーをエミュレートし、5 ~ 10 秒ごとに 1 ページを取得します。短いセッションで数日間にわたってサイトをスクレイピングします。単一の IP からのリクエストが多すぎる場合は、時間が短すぎると、彼らはあなたを再びブラックリストに載せます。

于 2010-09-01T07:13:43.523 に答える
0

電話番号だけが必要な場合は、その情報をすべて1ページで取得する簡単な方法がおそらくあります。イエローページのようなサイトを試してみてください。お住まいの地域のイタリアンレストランを検索してください。ページ全体を保存します。次に、番号があります。

APIを介してこの情報を利用できる別のサイトもあるかもしれません。そうすれば、利用規約に違反する必要はありません。記述が不十分または攻撃的なスクレイピングスクリプトは、一時的にWebサーバーに損傷を与える可能性があります。サイトがこれらのアクションをブロックするのには理由があります。

于 2010-09-04T08:27:15.823 に答える