Colabとadvertoolsを使用してカスタムクローラーを構築する方法

公開: 2022-05-25

このビデオでは、Google Colab、Advertools、およびその他のいくつかのPythonライブラリを使用して独自のカスタムクローラーを作成する方法について説明します。 怖がったり、くねくねしたりする前に、しないでください。 深呼吸する。 大丈夫です。 私はコーダーであるとさえ宣言していませんが、私がかなり得意なのはコピーと貼り付けです。 そのCtrl+Cボタンを私と同じように使用できることを私は知っています。 独自のカスタムSEOクローラーを作成する方法と、それを機能させていくつかの固有の問題を解決する方法を見てみましょう。

資力

  • ここからColabにアクセスできます。
  • Advertoolsの詳細については、こちらをご覧ください。

ビデオトランスクリプト:

Google ColabとAdvertools、Pythonライブラリを使用してカスタムクローラーを構築する方法を見てみましょう。

SEOクローラー(スパイダー)とは何ですか?

クローラーは、検索エンジンと同じようにWebサイトのページをクロールできるツールであり、貴重なSEO情報を取得するのに役立ちます。 それは私たちがウェブサイト、グーグル、ビング、または他の検索エンジンが私たちのサイトを見る方法を見るのを助けます。 これを行うツールがあります。 これを行うツールはたくさんありますが、最も人気のあるのはおそらくScreaming Frog SEO Spiderで、これは私たちがいつも愛して使用しているツールですが、カスタムソリューションが必要な場合もあります。

なぜあなたはあなた自身のクローラーを作るのですか?

ほとんどの「既製の」クローラーは驚くべきことをしますが、答える必要のある特定の質問があり、すべての出力を制御するためにカスタムクローラーを作成できる場合があります。 必要なデータのみを取得します。 このように、ツールのセットアップに制約される必要はありませんが、Colabとを使用して、Webサイトのクイッククロールを実行したり、1つの情報のみを取得したり、大量の情報を取得して別の方法で整理したりできます。 Python。

Advertoolsとは何ですか?

Advertoolsは、多くのことを実行できるPythonライブラリです。 Webサイトをクロールしたり、検索エンジンのマーケティングキャンペーンのキーワードを生成したり、テキスト広告を作成したり、SERPを分析したり、ソーシャルメディアの投稿に関する洞察を得たりすることができます。 非常に柔軟なライブラリです。 それはたくさんのクールなことをし、使い方はかなり簡単です。

私は自分自身をプログラマーとは呼びません。 私はコピーと貼り付けが得意だと言っていいでしょう。 私はPythonの詳細なプログラマーではありませんが、Advertoolsのようなツールを使用することで多くのメリットを得ることができました。

私たちがやろうとしていること

これがこのビデオで行うことです。

  1. 新しいColabファイルを作成し、Advertoolsをインストールします
  2. advertoolsを使用してカスタムクローラーを作成する
  3. Webサイトとデータをクロールして分析します
  4. Plotlyと呼ばれる別のPythonライブラリを使用して、これらの結果の一部を視覚化します
  5. データをエクスポートする

ステップ1:Colabファイルを作成してAdvertoolsをインストールする

Google Colabは、多くのすばらしいことを実行できるようにするツールです。 セル内でコードを実行して、テーブルを作成したり、独自のプログラムを作成したり、カスタム処理を行ったり、機械学習からSEOまで何でもできます。 これまでに使用したことがない場合は、無料で使用でき、Googleの計算能力を無料で活用できます。 とてもかっこいいので、ぜひチェックしてみてください。

CoLabをまだ使用していない場合は、ここに多くの優れたリソースがあります。 Pythonの外部にあるライブラリを使用するためにあなたがしなければならないことの1つは、自然なインストールです。 そのプログラムをインストールする必要があります。 ほとんどの場合、PIPと呼ばれる関数を使用し、その新しいライブラリをプルします。 使用するのはかなり簡単なプロセスです。

これらのプログラムを作成するこれらすべての人が行うことの1つは、ドキュメント内でそれを設定する方法を正確に示すことです。 したがって、これらのドキュメントを常に読んで、「これらのツールをインポートして、これらのツールを自分で機能させるにはどうすればよいか」を理解できるようになります。

Advertoolsをインストールするには、次のコード行をここで使用します。

!pip install advertools

ここにコードをCoLabのセルブロックに配置したら、先に進んで再生ボタンを押します。 このコードブロックを実行します。 このようなものが表示されます。ここにコードとパッケージ全体がインストールされているので、このライブラリを使用してクローラーを構築できます。 緑のチェックマークが表示されたら、それが完了したことがわかります。

ステップ2: Advertoolsを使用してカスタムクローラーを作成する

次に、新しいコード行を実行します。

import advertools as adv
from advertools import crawl
import pandas as pd
 

ここでコードボタンを押すと、この新しいコードが入力されます。 Advertoolsライブラリの特定の部分をインポートします。 advertoolsをインポートし、crawlメソッドをインポートします。 パンダと呼ばれるものも輸入しています。 Pythonに慣れていない方のために、パンダを使用すると、データフレーム内でデータを操作でき、基本的にPython内でテーブルを作成できます。

これらすべてを設定したら、先に進んでコードを再度実行します。 これにより、このすべての情報がインポートされます。 クロールを作成している場合は、ここで、これを実行する方法、これらのクロールをインポートする方法について説明していることに気付くでしょう。 いくつかのアプローチがあります。 私たちが行ったようにAdvertoolsをインポートして、このコマンドラインを実行することができます。これにより、私たちが行っていることが実行されます。

チームの誰かがColabを活用したい場合に備えて、Colabを少し使いやすくしたいと思います。 ここに表示されているものとは少し異なることを行います。 しかし、このアプローチに従うと、正しく理解でき、同様に機能します。

site = "https://simplifiedsearch.net/" #@param {type:"string"}

crawl(site, 'simp.jl' , follow_links= True )
crawl_df = pd.read_json( 'simp.jl' , lines= True )
crawl_df.head()
 

これから行うのは、このコード行です。 最初に行うことは変数を定義することであり、変数はクロールするWebサイトになります。 このパラメータタイプの文字列を使用すると、ここにボックスが表示され、クロールするWebサイトをここに入力できます。 ここに自分のウェブサイトを置くことができます。 ここに任意のWebサイトを配置でき、その変数が設定されます。 このように、ここに入力する必要はありません。 フォームに入力するだけで、セルボックスの内側をクリックするのが苦手な人は、ここに進んでサイドアウトを入力することができます。

この場合、常に使用するという理由だけで、簡略化された検索サイトを使用します。 先に進んで、ここに貼り付けます。 そのすぐ下では、ここで設定したのとまったく同じルールに従っています。 Advertools.crawlを使用してから、サイトを変数として使用しています。 出力ファイルがあります。 次に、Webサイト内のリンクをたどってもらいます。

次のステップでも、クロールデータフレームを設定し、JSONで出力されるため、出力ファイルを開くように指示します。 パンダはJSONを読み取り、データフレームを作成します。 最後に、すべてが意図したとおりに機能していることを確認するために、このデータフレームの先頭を表示するように指示しています。 この手順に従ってこのセルを実行すると、Webサイトがクロールされ、以下のデータダンプが実行され、このクロール内のさまざまな機能がすべて表示されます。

先に進んでこのセルを実行します。 Webサイト全体のクロールを実行しているという理由だけで、数分かかる場合があります。 完了したら、クロールデータを活用して特定の情報を引き出す方法について説明します。

ステップ3:Webサイトとデータをクロールして分析する

これでサイトがクロールされ、URL、タイトル、メタディスクリプション、ビューポイント、文字セット、H1、H2、およびH3のリストが表示されます。 この情報はすべてこのフレームに取り込まれています。 少しきれいに見せたい場合は、ここでこの魔法のボタンを押すと、Googleはこのデータを少し簡単に操作できるデータフレームに転送します。 ここには266の列の総数があります。これは、処理できる列の数です。

これらすべての列に何が含まれているのかを自問しているかもしれません。 ここに戻ってadvertoolsに戻ると、さまざまな要素がすべて表示されます。 かなりの量のエクスポートデータがあり、それらを調べて多くの優れた情報を引き出すことができます。

使用可能なすべての異なる列のリストを表示したい場合は、次のコードを実行できます。

columns = list (crawl_df)
columns
 

最初に列を取得し、それらからリストを作成する必要があります。 コードリストを使用してから括弧を入れ、データフレームの名前であるcrawl_DF内に入れて、新しいリスト列を呼び出します。 ここに列があり、そのセルを実行すると、これらのさまざまな可能な列がすべて表示されます。 ご覧のとおり、かなりの量の情報であり、大量の情報を探しています。

その情報の一部だけを見たい場合はどうなりますか? すべてのタイトル、すべてのメタディスクリプション、または一部のHタグ情報を取得したい場合、またはすべてのページとそれらにある可能性のあるschema.orgマークアップのタイプを確認したい場合はどうでしょうか。 これは、Advertoolsのようなものがあると便利です。

ページ全体でJSON-LDタイプを確認したいとします。

json_df = crawl_df[[ 'url' , 'jsonld_@type' ]]
json_df
 

新しいコードから始めることができます。 先に進んで、JSON-DFと呼ばれる新しいデータフレームを作成しましょう。 元のデータフレームからいくつかの情報を取得したいと思います。 最初にやりたいことは、ここに少し降りて、みんながクロールしやすいようにすることです、_DF。 ブラケットと別のブラケットを使用します。

最初に取得したいのはURLです。 サイト内のすべてのページ、すべてのURLを知る必要があるため、URLが重要であることはわかっています。 次に実行したいのは、JSONタイプを検索することです。 このリストに戻って、JSONタイプに移動し、それをコピーして、JSONタイプも知りたいと言うことができます。 私は先に進み、これを一貫性のある状態に保ちます。そうすれば、ベストプラクティスに従います。 ここのこの小さな行で何をしますか? 「新しいデータフレームを作成する」と言い、元のデータベースのデータと元のデータフレームのデータを使用して、URLとJSON-LDタイプのみをプルバックします。

これを実行すると、その情報だけで新しいデータフレームが作成されます。 このデータを表示するには、先に進み、JSON_DFを配置し、新しいセルを実行して、Enterキーを押します。 すべてのページのリストと、それらの特定のページに関連付けられているマークアップのタイプが表示されます。 これは、Webサイト上のすべてのJSON、使用しているタイプ、および使用しているマークアップをすばやく確認したい場合に非常に役立ちます。

さらに、マークアップが欠落しているページがいくつかありますか? それらをすばやく識別できます。 この新しいデータには、すべてのURLがあり、そのページに存在することがわかっているすべてのJSON-LDタイプがあります。

ステップ4:結果を視覚化する

クライアントまたは他の誰かに表示する簡単なレポートまたはグラフを作成したい場合、またはこのサイトに追加した情報とデータの量とさまざまな種類の情報を作成したいとします。

最初に行う必要があるのは、追加されたさまざまなタイプのマークアップをすべてカウントすることです。そうすれば、それを視覚化できます。 これを数えて、新しいデータフレームを作成することから始めましょう。 私はすでにこのコードを作成しているので、それを説明します。

json_counts = json_df[ 'jsonld_@type' ].value_counts()
json_counts = json_counts.reset_index()
json_counts

これはJSONカウントと呼ばれます。 これは新しいデータフレームです。 ここでJSON-LD列からデータを取得しています。 この列にある一意の値をカウントしています。 このコードを実行してから出力するように指示すると、すべての情報がカウントされていることがわかります。

それがしていることは、リストからいくつかのゼロまたはいくつかのNASを見つけているので、このエラーを私に与えているということです。 ここでその情報を取得したことがすぐにわかるので、問題ありません。 ここにすべての異なるマークアップタイプがあり、それはすべて私たちのためにレイアウトされています。

また、ここにあるようなデータフレームのようには見えないことにも気づいています。 このデータフレームまたはこの変数をデータフレームに再インデックスして、正しく機能させる必要があります。 先に進み、データフレームを指定して、次のコードを実行します。

json_counts = json_counts.reset_index()

 

これを実行すると、データフレームがあることがわかります。 用語であるインデックスがあります。 次に、JSON-LDタイプとそのカウントがあります。 まだグラフがありません。 まだ別のデータフレームがあります。 このデータフレームを視覚化またはグラフに変換するには、何をする必要がありますか? Plotlyと呼ばれるものを使用します。

Plotlyは別のライブラリであり、視覚化を作成するために使用できるAdvertoolsに非常によく似ています。具体的には、Plotlyexpressを使用します。 最初に行う必要があるのはPlotlyをインストールすることです。先に進み、PIPinstallPlotlyを実行します。このセルを実行します。 このワークシートにはすでにインストールされていますが、問題ありません。 ご覧のとおり、すでにインストールされており、すでに満足していることがわかります。 行ってもいいです。

ここからコピーしたコードを取得して、クローラーに貼り付けます。 これは使用していないデータであるため、この真ん中のデータは必要ありません。 独自のデータを使用しています。 Plotly expressをPXとしてインポートする必要があります。また、チャートに適切な情報を取得するには、ここに新しいデータベースを接続する必要があります。

! pip install plotly
 
import plotly.express as px
fig = px.bar(json_counts, x='index', y='jsonld_@type') fig.show()
 

私たちのデータフレームはJSONカウントと呼ばれていました。 Xではインデックスを使用し、YではJSONタイプを使用します。 なぜ私はそれらを選んだのですか? インデックスは単語がどこにあるかです。 それらをXに配置したいので、カウントはJSON-LD @typeになり、それがYになり、これらの各列にいくつあるかがわかります。 先に進み、それをここに置きます。 ものすごく単純。 そして、fig.showはそのグラフを表示します。 これで、さまざまなタイプがすべてここに表示されます。ここでは、各タイプのさまざまな量が素敵なグラフに表示されます。

これを共有したい場合は、PNGとしてダウンロードでき、Plotlyがコンピューターにダウンロードします。 これを受け取って、「これらの多くのページにこれだけのマークアップを付けました」と言うことができます。 すばやく視覚化するための非常にクールな方法。

ステップ5:データをエクスポートする

ただし、このデータをすべてダウンロードして、Googleスプレッドシートなどで操作したい場合はどうでしょうか。 ええと、あなたはそれをするためにそれをすることもできます。 もう1行のコードを使用するだけで、準備は完了です。 したがって、このテーブルをすべてのWebサイトページとJSON-LDタイプとともにここにダウンロードするとします。 このセルまたは必要な人に進んでから、新しいコード行を作成します。

インポートファイルと呼ばれるGoogleColabの何かを使用する必要があります。 それが私たちが最初にやろうとしていることです。 次に、JSON-DFであるこのデータフレームを見つけます。 これを以下に追加して.2_CSVと言い、名前を付けます。 これをJSON_DF.CSVと呼ぶことができます。 このコードを入力すると、CSVファイルが作成されます。 ここで自分のフォルダを調べると、ここにファイルが表示されます。

ここから、先に進んでダウンロードするか、ここにコードを1行入れて、さらにすばやくダウンロードすることができます。 files.downloadと言うと、先に進んで、作成したばかりのこのファイルを呼び出し、Colabに直接ダウンロードするように依頼しました。 このセルを実行すると、そのファイルがダウンロードされ、ここにあります。 先に進んで[開く]をクリックすると、このCSVファイルが作成され、自分が持っているあらゆる種類のスプレッドシートツールでやりたいことが何でもできるようになります。 マークアップが欠落している可能性のあるものも表示されます。

そこにあります。 先に進み、独自のカスタムクローラーを作成しました。 いくつかのカスタムデータを取得しました。 そのデータを視覚化し、他のプログラムで使用するためにそのデータをダウンロードしました。 私たちはこれらすべてを行いました。私はコンピュータープログラマーではありません。コンピュータープログラマーのふりをすることすらしていません。 前にも言ったように、私はコピーと貼り付けが得意です。 あなた達もこれらのことを理解することができます。

質問があるときは、常にクールな解決策があります。 何か新しいことや違うことを試してみたい場合は、Colabで遊んでみることを強くお勧めします。 そこにはたくさんの素晴らしいリソースがあります。 私よりもはるかに賢く、たくさんのことを学び、マーケティングゲーム、調査、クロールなどで私を助けてくれた多くの人々がいます。

本日行ったことについてご不明な点がございましたら、以下にコメントしてください。 また、この特定のCoLabファイルへのアクセスを許可し、その過程で使用したコードを段階的に共有します。 ご覧いただきありがとうございます。 購読することを忘れないでください、そして次回まで、幸せなマーケティング。

興味がある場合は、次の完全なコードを使用してください。