オートスクレーパーとフラスコ:5分未満でどんなウェブサイトからでもAPIをつくってください
このチュートリアルでは、eBayとEtsyの両方をサポートして独自のEコマース検索APIを作成します.…の力でAutoScraper and Flask , 我々は、各サイトのPythonコードの20行未満でこの目標を達成することができます.最後の読書article あなたがまだそうしなかったならば、AutoCravierについて.
要件
< tag >スクレーピング規則でグループ化した結果を取得しましょう
<> P >
< div class ="ハイライト"
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/98f53cb72a6cd1f9866c08555356a2ca.js//>
< div >
<高橋潤子>p >
< P > OK、私たちはeBayをカバーしました.Etsyの検索結果のサポートを追加しましょう.私たちはそのスクレーパーを建てることから始めます.今回は、使用します
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/alirezamika/743234bb98ba1e59e9727ef7788c7da9.js//>
< div >
リンクがETSY上でユニークなIDで生成されるたびに、我々は1つのサンプルプロダクトIDを
出力を解析した後、我々の希望する規則を守り、残りを削除し、モデルを保存しましょう
< 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 >
<堀田>
このコードを実行することによって、APIサーバはポート8080で待機します.では、APIを開いてテストしましょう
< P > << bf/> < file >> eBayの結果
<> P >
< P > << tt/> < tt/>
<> P >
<高橋>我々は電子商取引APIを準備している.ジャストリプレース
< hr/>
最終ノート
これは開発とテストに適した開発設定です.フラスコの内蔵サーバーは、生産に適していません.使用方法についてはFlask’s deployment options .
このチュートリアルでは、個人や教育を目的としています.ウェブサイトをscrapeする場合は、彼らのポリシーをチェックすることができます.p >
私はこの記事が有用であり、これまでより速くコードにあなたの考えをもたらすのを助けます.ハッピーコーディング!p >
要件
PIPを使用して必要なライブラリをインストールします
pip install -U autoscraper flask
しましょう
まず、eBayの検索結果ページからデータを取得するスマートスクレーパーを作成します.我々は、取得したいと言いましょうtitle
, price
, and product link
各項目の.自動スクレーパーを使用すると、簡単にいくつかのサンプルデータを提供するだけで行います.
< div >
このコードをコピーして実行する場合は、wanted_list
.
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 >
Reference
この問題について(オートスクレーパーとフラスコ:5分未満でどんなウェブサイトからでもAPIをつくってください), 我々は、より多くの情報をここで見つけました https://dev.to/alirezamika/autoscraper-and-flask-create-an-api-from-any-website-in-less-than-5-minutes-400jテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol