質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

6159閲覧

Pythonで多数の企業情報を抽出したいです。

kallise

総合スコア1

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/07/19 14:05

前提・実現したいこと

Python初心者なのですがよろしくお願いします。

作業効率のために
googleスプレットシート上にある多数の企業リストから自動的にそのらのホームページに飛ぶようにして
電話番号や住所、メールアドレスなどを一斉抽出できるようなものを作れないかと考えています。
仮のイメージとしましては、スプレットシート上にリストが

会社名       電話番号       メールアドレス      住所
A社
B社
C社
.
.
と並んでいて、プログラミングにより
A社        080.. @.com        東京都...
B社        080.. @.com        東京都....
C社        080.. @.com        東京都...
のように抽出できる方法はないか調べています。

試したこと

(できていること)
webページのスクレイピングの方法はPythonのbeautifulsoupなどを用いてできました。
googleスプレットシートの中身の抽出もPythonを用いてできました。(必要ないかも知れましんが)

補足情報(FW/ツールのバージョンなど)

私の考えですと、webページが同じ形式なら情報を抜き取ることが可能かと思いましたが、それぞれ異なるホームページからの自動抽出はできるのかわかりません。
予想ですが、検索エンジンか何かに「電話番号」や「企業情報」といった文字列を含めさせることでどうにかなるのかなと思ったのですが、無知なものでいくら調べてもそのようなものは見つかりませんでした。
また、企業のホームページですとさまざまな飛べるリンクがあり、そのページ遷移の方法もどのようにすればいいかわからない状況です。
*説明がわかりにくければコメントお願いします。
ps 私はJava初心者でつい先日からPythonを独学で学び始めました。お力をいただけると幸いです!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

他の方の回答通りですが、実際には相当困難、、というかほぼ不可能に近いでしょう。
googleさんレベルで、「まあ、一応実用に耐えるかなあ?」程度にできる程度だと思います。

一番最初のとっかかり部分として、あなたが、100社の社名リストを渡されて、それらの電話番号・メールアドレス・住所を調べろと言われて、「命令した人の想定通り」にこなせる自信あります??

自分は、せいぜい5割程度の精度でしかできないと思います。
なぜなら、○○株式会社をググったとしても、同名・似た名前多数がヒットするでしょうし、電話番号や住所にしても複数記載があれば「何の電話番号か?」「何の住所か?」等どのデータが必要なのか特定できませんから。
そもそも、データが存在しないというのも充分ありえます。

そして、5割というのは、指定された企業のホームページに正しく接続できて、その中から必要な情報を書いている場所(ページ)を見つけて、その記載内容を正しく理解して取得した場合です。
こいうのは人間は得意ですが、コンピューターは相当苦手です。
全サイトが特定のフォーマットで記載しているのなら簡単ですが、完全にてんでバラバラの記載方法ですから、「どこをどう見てページを探して、見つけたら(見つけたらと人間は簡単言えますが、コンピューターに正しく見つけたかどうか判断させるだけでも困難です)これこれを取得しろ」とプログラムを書くのはほぼ不可能です。

そうなると、それをどうにかしようとすると機械学習を使わないと無理という事になります。

で、最初に戻りますが、人間でも相当困難ですから、当然機械学習を使っても非常に困難だと思います。

あと・・・こういう微妙なものは結局検証しないといけないんですよね。。
つまり、「データ無しってなってるけど、本当に無いのか?見つけられなかっただけじゃないのか?」「株式会社○○のデータを取得してるはずだけど○○株式会社とかのデータじゃないのか?」とか・・・

投稿2021/07/19 15:08

udon-ken

総合スコア657

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

それぞれ異なるホームページからの自動抽出はできるのかわかりません。

その通りで、機械学習を使うなどしないと無理でしょう。

・プログラミングの練習が目的で、たまたま題材にこれを選んだ
・企業の情報を得るのが目的

のどちらなのかによって、やることが違ってくると思います。

後者なら、企業情報の会社からデータを買うのでしょうか。
「企業情報 データベース」で検索するといくつかの会社があります。

前者なら、特定の数社だけ、サイトの構造に合わせて作ってみれば良いかと思います。

投稿2021/07/19 14:36

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kallise

2021/07/19 14:42

回答ありがとうございます。otnさんの二つの両者に当てはまるのですが、練習目的というのと所属している会社がSESが立ち上がったばかりの私が1期目でして業務効率化のようなものを目的として抽出できないか調べていました。 重ねてになりますが、自社のシステムのようなものを用いて企業の情報を得るには機械学習の方法しかないということでよろしいでしょうか? 企業情報の会社からデータを買うという選択は排除したいです。
otn

2021/07/19 14:47

自分で、数社のサイトについて、抽出するプログラムを書いてみて、そのときにあなたの頭の中で考えたことを、ロジックとして整理し、プログラム化できそうであれば、プログラムにすればいいです。 頭の中を言語化できないとか、ロジックとしてまとめられないとかであれば、AIに頼らず自分でプログラムを書くのは無理でしょう。 「このページの中に求める情報が絶対にある」と保証されているなら、正規表現で絞り込むことは十分可能だと思います。
otn

2021/07/19 15:13

なお、機械学習と書いたのは言葉の綾で、機械学習のためには「正解」を数百ないし数千、あるいはもっと用意しないといけないので、対象としたい会社が数十万社あるとかでないとペイしないでしょうから、現実的で無いでしょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問