オートスクレーパーとフラスコ:5分未満でどんなウェブサイトからでもAPIをつくってください


このチュートリアルでは、eBayとEtsyの両方をサポートして独自のEコマース検索APIを作成します.…の力でAutoScraper and Flask , 我々は、各サイトのPythonコードの20行未満でこの目標を達成することができます.最後の読書article あなたがまだそうしなかったならば、AutoCravierについて.

要件


PIPを使用して必要なライブラリをインストールします
pip install -U autoscraper flask

しましょう


まず、eBayの検索結果ページからデータを取得するスマートスクレーパーを作成します.我々は、取得したいと言いましょうtitle , price , and product link 各項目の.自動スクレーパーを使用すると、簡単にいくつかのサンプルデータを提供するだけで行います.
< div >
このコードをコピーして実行する場合は、wanted_list .


< tag >スクレーピング規則でグループ化した結果を取得しましょう
<> P >
< div class ="ハイライト"
scraper.get_result_similar(url, grouped=True)
出力からどのルールがどのデータに対応するかを知ることができます.出力に基づいてエイリアスを設定し、冗長ルールを削除し、後で保存できるようにモデルを保存します.
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/98f53cb72a6cd1f9866c08555356a2ca.js//>
< div >
<高橋潤子>p >
< P > OK、私たちはeBayをカバーしました.Etsyの検索結果のサポートを追加しましょう.私たちはそのスクレーパーを建てることから始めます.今回は、使用しますwanted_dict の代わりにwanted_list . 自動的にエイリアスを設定します.
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/743234bb98ba1e59e9727ef7788c7da9.js//>
< div >
リンクがETSY上でユニークなIDで生成されるたびに、我々は1つのサンプルプロダクトIDをwanted_dict それで、我々はそれからのリンクをつくることができます.また、ETSYの検索結果ページの項目の構造が異なっており、スクレーパーがすべてを学ぶようにしたので、タイトルと価格の2つのサンプルを提供しましたp >
出力を解析した後、我々の希望する規則を守り、残りを削除し、モデルを保存しましょう
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/45a51ce21740060f9fc638e5e090f14f.js//>
< div >
現在、我々のスクレーパーが用意されているので、40以上のサイトで完全に機能するAPIを作成することができます
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/ef540b87a63f12cf6a70ea9e03f23555.js//>
< div >
<堀田>q 検索クエリとして.私たちはeBayとETSYの検索結果に参加し、それらを返答します.我々が通過していることに注意してくださいgroup_by_alias=True スクレーパーに、定義されたエイリアスによってグループ化された結果を取得します.p >
このコードを実行することによって、APIサーバはポート8080で待機します.では、APIを開いてテストしましょうhttp://localhost:8080/?q=headphone 私たちのブラウザで
< P > << bf/> < file >> eBayの結果
<> P >
< P > << tt/> < tt/>
<> P >
<高橋>我々は電子商取引APIを準備している.ジャストリプレースheadphone 検索結果を取得するには、URLを指定します.p >
< hr/>

最終ノート


このチュートリアルの最終コードはGitHub .


これは開発とテストに適した開発設定です.フラスコの内蔵サーバーは、生産に適していません.使用方法についてはFlask’s deployment options .


このチュートリアルでは、個人や教育を目的としています.ウェブサイトをscrapeする場合は、彼らのポリシーをチェックすることができます.p >
私はこの記事が有用であり、これまでより速くコードにあなたの考えをもたらすのを助けます.ハッピーコーディング!p >