JP2019144823A - 情報取得プログラム、情報取得方法及び情報取得装置 - Google Patents
情報取得プログラム、情報取得方法及び情報取得装置 Download PDFInfo
- Publication number
- JP2019144823A JP2019144823A JP2018028149A JP2018028149A JP2019144823A JP 2019144823 A JP2019144823 A JP 2019144823A JP 2018028149 A JP2018028149 A JP 2018028149A JP 2018028149 A JP2018028149 A JP 2018028149A JP 2019144823 A JP2019144823 A JP 2019144823A
- Authority
- JP
- Japan
- Prior art keywords
- search
- hierarchy
- url
- web page
- information acquisition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】目的サイトの収集漏れを抑制することを課題とする。【解決手段】情報取得装置10は、Webページのデータを受け付け、受け付けたデータに特定の文字列とURLが含まれる場合、文字列とURLの距離に応じて、探索の対象とするWebページの階層を決定し、決定した階層に応じたWebページのデータが特定の条件を満たすか否かを判定する。【選択図】図1
Description
本発明は、情報取得プログラム、情報取得方法及び情報取得装置に関する。
Web上に存在する情報を取得するツールの一例として、Webサイト内のリンクを探索してWebページを収集するクローラが知られている。このクローラ等のツールを用いてWebページを収集する場合、目的とするWebサイト(以下、「目的サイト」と記載)を絞り込む側面からキーワードが検索に用いられる。
このようなキーワードには、一つの側面として、目的サイトで高頻度に出現する単語やフレーズなどが指定される。例えば、特定のコミュニティだけで通じる俗語や特定のコミュニティの外部に秘匿することを意図して使用される隠語などがキーワードとして指定される。
これら俗語や隠語がWebサイト上で用いられる場合、単語やフレーズが本来の意味、例えば辞書通りの意味とは異なる意味で使用されることがある。このため、俗語や隠語がキーワードとして指定された場合、目的サイトのWebページだけでなく、俗語や隠語として用いられる単語やフレーズが本来の意味で使用された目的外のサイトも収集される。このように目的外のサイトが収集されることで、クローラにより収集されるデータ量が増大する場合がある。このような側面から、Webページに含まれるリンクを探索する階層が制限される。
しかしながら、上記の技術では、目的サイトの収集漏れが発生する場合がある。すなわち、Webページに含まれるリンクを探索する階層を制限される場合、制限された階層に探索が達した段階で探索が打ち切られる。それ故、制限により打ち切られた階層よりも深い階層に目的サイトが存在する場合、目的サイトを収集することができない。
1つの側面では、本発明は、目的サイトの収集漏れを抑制できる情報取得プログラム、情報取得方法及び情報取得装置を提供することを目的とする。
一態様では、情報取得プログラムは、Webページのデータを受け付け、受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、処理をコンピュータに実行させる。
目的サイトの収集漏れを抑制できる。
以下に添付図面を参照して本願に係る情報取得プログラム、情報取得方法及び情報取得装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[システム構成]
図1は、実施例1に係る情報取得システムの構成例を示す図である。図1に示す情報取得システム1は、インターネットやイントラネットなどのネットワークNW上に存在するWebサーバ30から目的とするWebサイト(以下、「目的サイト」と記載)の情報を取得する情報取得サービスを提供するものである。
図1は、実施例1に係る情報取得システムの構成例を示す図である。図1に示す情報取得システム1は、インターネットやイントラネットなどのネットワークNW上に存在するWebサーバ30から目的とするWebサイト(以下、「目的サイト」と記載)の情報を取得する情報取得サービスを提供するものである。
図1に示すように、情報取得システム1には、情報取得装置10と、管理者端末20とが含まれる。これら情報取得装置10および管理者端末20の間は、有線または無線を問わず、LAN(Local Area Network)やVLAN(Virtual LAN)などの構内通信網等を介して接続される。
情報取得装置10は、上記の情報取得サービスを提供するコンピュータである。
一実施形態として、情報取得装置10は、パッケージソフトウェア又はオンラインソフトウェアとして、上記の情報取得サービスに対応する機能を実現する情報取得プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、情報取得装置10は、上記の情報取得サービスを提供するサーバとしてオンプレミスに実装することとしてもよいし、アウトソーシングによって上記の情報取得サービスを提供するクラウドとして実装することとしてもかまわない。
管理者端末20は、上記の情報取得サービスの提供を受けるクライアントの一例に対応する。例えば、管理者端末20は、情報取得システム1の管理者等によって利用されるコンピュータである。例えば、管理者端末20には、パーソナルコンピュータなどのデスクトップ型のコンピュータなどが対応する。これはあくまで一例であり、管理者端末20は、ラックトップ型のコンピュータや携帯端末装置、ウェアラブル端末などの任意のコンピュータであってかまわない。
さらに、図1に示すように、情報取得装置10は、任意のネットワークNWを介して、Webサーバ30と接続される。このネットワークNWには、有線または無線を問わず、インターネットやイントラネットなど任意の通信網が対応する。
このように、情報取得装置10は、上記の情報取得サービスを提供するサーバとして機能すると共に、上記の情報取得サービスに対応する機能を実現する側面から、Webクライアントとしての機能も有する。すなわち、情報取得装置10では、Webサイト内のリンクを探索してWebページを収集するクローラ等のツールが目的サイトの情報を取得するために活用される。
Webサーバ30は、Webクライアントからのリクエストに応答してWebページを提供するサーバである。このWebサーバ30により運営されるWebサイトの種類は、特定の種類に限定されず、任意の種類であってかまわない。例えば、Webサイトの例には、ポータルの検索サイトを始め、個人のホームページやブログ、SNS(Social Networking Service)サイト、匿名掲示板などが含まれる。
なお、図1には、Webシステムの構成要素として、Webクライアントに対応する情報取得装置10およびWebサーバ30を例示したが、これ以外の構成要素が含まれることを妨げない。例えば、Webシステムの構成要素として、データベースサーバやファイルサーバ、ロードバランサなどが含まれることとしてもかまわない。
[情報取得装置10の構成]
図1に示すように、情報取得装置10は、通信I/F(InterFace)部11と、記憶部13と、制御部15とを有する。図1には、データの授受の関係を表す実線が示されているが、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
図1に示すように、情報取得装置10は、通信I/F(InterFace)部11と、記憶部13と、制御部15とを有する。図1には、データの授受の関係を表す実線が示されているが、説明の便宜上、最小限の部分について示されているに過ぎない。すなわち、各処理部に関するデータの入出力は、図示の例に限定されず、図示以外のデータの入出力、例えば処理部及び処理部の間、処理部及びデータの間、並びに、処理部及び外部装置の間のデータの入出力が行われることとしてもかまわない。
通信I/F部11は、他の装置、例えば管理者端末20やWebサーバ30等との間で通信制御を行うインタフェースである。
一実施形態として、通信I/F部11には、LANカードなどのネットワークインタフェースカードなどが対応する。例えば、通信I/F部11は、管理者端末20からクローラに探索を実行させる各種の設定の入力を受け付けたり、目的サイトの情報の取得結果を管理者端末20へ提示したりする。また、通信I/F部11は、WebページのリクエストをWebサーバ30に送信したり、Webサーバから送信されたWebページを受け付けたりする。
記憶部13は、制御部15で実行されるOS(Operating System)を始め、上記の情報取得プログラム、例えばアプリケーションプログラムやミドルウェアなどの各種プログラムに用いられるデータを記憶する記憶デバイスである。
一実施形態として、記憶部13は、情報取得装置10における補助記憶装置として実装することができる。例えば、記憶部13には、HDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などを採用できる。なお、記憶部13は、必ずしも補助記憶装置として実装されずともよく、情報取得装置10における主記憶装置として実装することもできる。この場合、記憶部13には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリを採用できる。
記憶部13は、制御部15で実行されるプログラムに用いられるデータの一例として、探索設定データ13aと、コンテンツデータ13bと、探索リストデータ13cとを記憶する。これらのデータ以外にも、記憶部13には、他の電子データが記憶されることとしてもかまわない。例えば、記憶部13は、管理者端末20を使用するユーザに付与されたアカウント情報、Webサーバ30から収集されたWebページがインデックス化されたインデックスデータなども併せて記憶することもできる。なお、探索設定データ13a、コンテンツデータ13b及び探索リストデータ13cの説明は、各データの登録または参照が行われる制御部15の説明と合わせて行うこととする。
制御部15は、情報取得装置10の全体制御を行う処理部である。
一実施形態として、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより実装することができる。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサ、例えばGPU(Graphics Processing Unit)やDSP(Digital Signal Processor)の他、GPGPU(General-purpose computing on graphics processing units)により実装することができる。この他、制御部15は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
制御部15は、図示しない主記憶装置として実装されるRAM(Random Access Memory)のワークエリア上に、上記の情報取得プログラムを展開することにより、下記の処理部を仮想的に実現する。
図1に示すように、制御部15は、設定部15aと、要求部15bと、受付部15cと、解析部15dと、判定部15eと、決定部15fとを有する。
設定部15aは、探索に関する各種の設定を実行する処理部である。
1つの側面として、設定部15aは、管理者端末20から探索に関する各種の設定を受け付けることができる。例えば、設定部15aは、図2に示す探索設定画面200を管理者端末20に表示させることにより、探索設定画面200に対するGUI(Graphical User Interface)操作を介して設定を受け付ける。
図2は、探索設定画面200の一例を示す図である。図2に示すように、探索設定画面200には、テキストボックス201〜206と、ボタン210及び220とのGUIコンポーネントが含まれる。このうち、テキストボックス201では、クローラに探索を開始させる起点となるWebサイトの名称をテキスト入力により受け付けることができる。以下、探索を開始させる起点となるWebサイトのことを「起点サイト」と記載する場合がある。また、テキストボックス202では、起点サイトのURLをテキスト入力により受け付けることができる。以下、起点サイトのURLのことを「起点URL」と記載する場合がある。例えば、起点サイトには、起点サイト内のリンクもしくは他のドメインへのリンクが含まれるページ、例えばトップページなどが設定される。また、起点サイトの種類の例としては、各種のポータルサイトを始め、個人のホームページやブログ、SNSサイト、匿名掲示板などの任意の種類のWebサイトであってかまわない。さらに、起点サイトとして、情報発信元までのアクセス経路を変更したり、アクセス経路に含まれるノード間で暗号化を行ったりするTor(The onion router)の匿名技術が利用されたTorサイトを設定することもできる。
また、テキストボックス203では、リンクの探索を継続する条件として指定されるキーワード、例えば単語やフレーズ等をテキスト入力により受け付けることができる。以下、リンクの探索を継続する条件として指定されるキーワードのことを「探索キーワード」と記載する場合がある。また、テキストボックス204では、Webページを保存する条件として指定されるキーワードをテキスト入力により受け付けることができる。以下、Webページを保存する条件として指定されるキーワードが目的サイトの確定に用いられる側面から「確定キーワード」と記載する場合がある。例えば、探索キーワードや確定キーワードには、目的サイトで高頻度に出現する単語やフレーズなどが指定される。一例として、特定のコミュニティだけで通じる俗語や特定のコミュニティの外部に秘匿することを意図して使用される隠語などが指定される。これらの語彙のうち、目的サイトでターゲットとする対象物そのものよりも対象物へ誘導するニュアンスに違い語彙を探索キーワードに設定すると共に、目的サイトでターゲットとする対象物そのものやその隠語を確定キーワードに設定するといった使い分けを行うことができる。
また、テキストボックス205では、起点サイトから起算してリンクを探索する上限とする階層の数をテキスト入力により受け付けることができる。以下、起点サイトから起算してリンクを探索する上限とする階層のことを「探索上限階層」と記載する場合がある。また、テキストボックス206では、テキストボックス201〜205を介して入力された条件にしたがって目的サイトの情報を取得する周期をテキスト入力により受け付けることができる。また、ボタン210では、テキストボックス201〜206を介して入力された設定を登録することができる。ボタン220では、テキストボックス201〜206を介して入力された設定の登録をキャンセルすることができる。
これらテキストボックス201〜206にデータが入力された状態でボタン210に対する操作を受け付けた場合、起点サイト名、起点URL、探索キーワード、確定キーワード、探索上限階層、チェック周期などの項目を含むデータが探索設定データ13aとして記憶部13に登録される。この探索設定データ13aとして、必ずしも上記の項目の全てが設定されずともかまわない。例えば、探索上限階層やチェック周期には、情報取得システム1の管理者が各起点サイトの間で用いる固定値を事前に設定しておくこともできる。
要求部15bは、Webページをリクエストする処理部である。
1つの側面として、要求部15bは、記憶部13に探索設定データ13aが新規に登録された場合、あるいは登録済みの探索設定データ13aに含まれるチェック周期が経過する場合などをトリガーとし、目的サイトの情報の取得を開始する。すなわち、要求部15bは、記憶部13に記憶された探索設定データ13aに含まれる起点URLに基づいてHTTP(HyperText Transfer Protocol)リクエストをWebサーバ30に送信する。このHTTPリクエストには、HTTPメソッド、ドメイン名で指定されるWebサーバ30上で参照先のドキュメントの所在位置を指定するURL、この場合は「起点URL」などが含まれる。なお、ここでは、あくまで1つの側面として、起点URLにしたがってリクエストを送信する場合を例示したが、リクエストの対象は起点サイトのWebページに限定されない。例えば、起点サイトに含まれるリンク、さらには起点サイトのリンクを辿って探索されたWebページ内のリンクのURLについてもリクエストが送信される場合がある。
受付部15cは、Webページを受け付ける処理部である。
1つの側面として、受付部15cは、要求部15bにより送信されたHTTPリクエストのレスポンスとして、Webサーバ30から送信されたWebページのデータ、すなわちHTTPボディ部のデータを受け付ける。このようにWebサーバ30からのレスポンスに含まれるHTTPボディ部のデータを受信することにより、マークアップ言語で記述されたドキュメント、例えばHTML(HyperText Markup Language)文書を受け付けることができる。このHTML文書には、テキストを始め、画像や音声、動画などのコンテンツが含まれてかまわない。なお、Webシステムで授受されるデータは、必ずしもHTML文書でなくともよく、他のドキュメント、例えばXML(Extensible Markup Language)文書であってもかまわない。
解析部15dは、Webページを解析する処理部である。
1つの側面として、解析部15dは、受付部15cが受け付けたWebページのテキストマイニング等を実行する。例えば、解析部15dは、Webページに含まれるテキストの中から探索設定データ13aに含まれる確定キーワードに対応する文字列を検出する。また、解析部15dは、Webページに含まれるテキストの中から探索設定データ13aに含まれる探索キーワードに対応する文字列を検出する。さらに、解析部15dは、Webページに含まれるテキストの中からリンクとして埋め込まれたURLの書式、例えば「http:+ドメイン名」や「http:+ドメイン名+パス名」などに対応する文字列を検出する。
判定部15eは、Webページのデータが特定の条件を満たすか否かを判定する処理部である。
一実施形態として、判定部15eは、解析部15dによりWebページが解析された場合、当該Webページに含まれるテキストの中から確定キーワードに対応する文字列が検出されたか否かを判定する。ここで、Webページに確定キーワードが含まれる場合、当該Webページが目的サイトに該当する可能性が高いと識別できる。この場合、判定部15eは、当該Webページのデータ、例えばHTML文書のソースコード、HTML文書に埋め込まれた画像や動画のバイナリデータなどをコンテンツデータ13bとして記憶部13へ保存する。
決定部15fは、Webページに含まれる特定の文字列とURLとの距離に応じて、探索の対象とするWebページの階層を決定する処理部である。
一実施形態として、決定部15fは、解析部15dによりWebページが解析された場合、当該Webページに含まれるテキストの中から探索キーワードに対応する文字列が検出されたか否かを判定する。ここで、Webページに探索キーワードが含まれる場合、目的サイトそのもの、あるいは目的サイトに関するトピックが出現しているWebサイトである可能性が高いので、当該Webページ内のリンクを辿って探索を継続する価値があると識別できる。この場合、決定部15fは、当該Webページに含まれるテキストの中からURLのリンクに対応する文字列が検出されたか否かをさらに判定する。そして、決定部15fは、Webページにリンクが含まれる場合、当該リンクとして埋め込まれたURLを記憶部13に記憶された探索リストデータ13cに追加登録する。このように探索に用いられるURLのことを「探索URL」と記載する場合がある。続いて、決定部15fは、探索URLごとに当該探索URLとその最短の位置にある探索キーワードとの間で距離、例えば文字数などを算出する。なお、Webページに探索キーワードが含まれない場合、当該WebページにURLのリンクを探索しても目的サイトとの関連が希薄なWebページしか探索されない可能性が高まるので、以降の探索は打ち切られる。また、WebページにURLのリンクが含まれない場合、リンクを探索することができないので、探索が打ち切られる。
このように探索キーワード及びURLの距離が算出された後、決定部15fは、探索キーワード及び探索URLの距離に応じて、当該探索URLのリンクから追加で探索する階層を決定する。ここで言う「階層」は、一例として、リンクのURLが探索された回数に対応する。以下、探索URLのリンクから追加で探索する階層のことを「追加探索階層」と記載する場合がある。これに関連して、起点サイトから受付部15cが受け付けた最新のWebページまでにリンクが探索されることにより到達した階層のことを「到達階層」と記載する場合がある。
例えば、決定部15fは、探索キーワード及び探索URLの距離が小さくなるにつれて追加探索階層を多く設定する一方で、探索キーワード及び探索URLの距離が大きくなるにつれて追加探索階層を少なく設定する。より具体的には、決定部15fは、探索キーワード及び探索URLの距離が閾値Th1、例えば100文字以下であるか否かを判定する。そして、決定部15fは、探索キーワード及び探索URLの距離が閾値Th1以下でない場合、探索キーワード及び探索URLの距離が閾値Th2、例えば200文字以下であるか否かを判定する。さらに、決定部15fは、探索キーワード及び探索URLの距離が閾値Th2以下でない場合、探索キーワード及び探索URLの距離が閾値Th3、例えば300文字以下であるか否かを判定する。これら閾値Th1〜閾値Th3を用いる判定によって、探索キーワード及び探索URLの距離は、(イ)閾値Th1以下、(ロ)閾値Th1超過閾値Th2以下、(ハ)閾値Th2超過閾値Th3以下、(ニ)閾値Th3超過の4つのパターンへ分類できる。
これら4つのパターンのうち、パターン(イ)に該当する場合、すなわち距離が閾値Th1以下である場合、決定部15fは、当該探索URLから追加で探索する階層を「3」に決定する。また、パターン(ロ)に該当する場合、すなわち距離が閾値Th1超過閾値Th2以下である場合、決定部15fは、当該探索URLから追加で探索する階層を「2」に決定する。また、パターン(ハ)に該当する場合、すなわち距離が閾値Th2超過閾値Th3以下である場合、決定部15fは、当該探索URLから追加で探索する階層を「1」に決定する。また、パターン(ニ)に該当する場合、すなわち距離が閾値Th3超過である場合、決定部15fは、探索URLのリンクから追加で探索する階層を「0」に決定する。
図3は、Webページの一例を示す図である。図3には、探索キーワードKY1の一例として「自己責任」が含まれると共に、それに後続してURL31、URL32、URL33及びURL34が出現するWebページ300が示されている。さらに、図3には、探索キーワードKY1及びURL31の距離d1が閾値Th1以内であり、探索キーワードKY1及びURL32の距離d2が閾値Th1超過、かつ閾値Th2以内であり、探索キーワードKY1及びURL33の距離d3が閾値Th2超過、かつ閾値Th3以内であり、探索キーワードKY1及びURL34の距離d4が閾値Th3を超過する例が示されている。
図3に示すように、探索キーワードKY1にURLが後続する場合、一例として、次のようにして両者の距離を算出する。例えば、探索キーワードKY1およびURL31の距離d1を算出する場合、Webページ300上で出現する探索キーワードKY1「自己責任」の文字列のうち最後の文字の位置E1から、URL31に対応する文字列のうち先頭の文字の位置S1までの文字数が距離d1として算出される。このように距離d1が上記のパターン(イ)に該当する場合、探索キーワードKY1およびURL31の関連度が高いと推定できる。この場合、現時点の到達階層に留まらず、そこから3つ先の階層まで追加してリンクを探索することを許可する。
また、探索キーワードKY1およびURL32の距離d2を算出する場合、Webページ300上で出現する探索キーワードKY1「自己責任」の文字列のうち最後の文字の位置E1から、URL32に対応する文字列のうち先頭の文字の位置S2までの文字数が距離d2として算出される。このように距離d2が上記のパターン(ロ)に該当する場合、探索キーワードKY1およびURL32の関連度が上記のパターン(イ)に次いで高いと推定できる。この場合、現時点の到達階層に留まらず、そこから2つ先の階層まで追加してリンクを探索することを許可する。
また、探索キーワードKY1およびURL33の距離d3を算出する場合、Webページ300上で出現する探索キーワードKY1「自己責任」の文字列のうち最後の文字の位置E1から、URL33に対応する文字列のうち先頭の文字の位置S3までの文字数が距離d3として算出される。このように距離d3が上記のパターン(ハ)に該当する場合、探索キーワードKY1およびURL33の関連度が上記のパターン(ロ)に次いで高いと推定できる。この場合、現時点の到達階層から1つ先の階層まで追加してリンクを探索することを許可する。
また、探索キーワードKY1およびURL34の距離d4を算出する場合、Webページ300上で出現する探索キーワードKY1「自己責任」の文字列のうち最後の文字の位置E1から、URL34に対応する文字列のうち先頭の文字の位置S4までの文字数が距離d4として算出される。このように距離d4が上記のパターン(ニ)に該当する場合、探索キーワードKY1およびURL33の関連度が上記のパターン(イ)〜上記のパターン(ハ)までは高くないと推定できる。この場合、現時点の到達階層から追加してリンクを探索することは許可しない。
なお、図3には、探索キーワードおよびURLの距離の一例として、両者の間に存在する文字数を算出する例を示したが、この他にも、両者の間に存在する文字列のデータ量、例えばByte数などを距離として算出することもできる。また、図3には、探索キーワードに後続してURLが出現する場合を例示したが、URLが探索キーワードに先行する場合には、一例として、URL32に対応する文字列のうち最後の文字の位置から、探索キーワードの文字列のうち先頭の文字の位置までの文字数を距離として算出することができる。
このように決定された追加探索階層と到達階層から、決定部15fは、リンクの探索の終了を予定する階層を算出する。以下、リンクの探索の終了を予定する階層のことを「終了予定階層」と記載する場合がある。ここで、決定部15fは、一例として、到達階層に追加探索階層を加算することにより上記の終了予定階層を算出するが、探索設定データ13aに含まれる探索上限階層を超える値を終了予定階層として認めない。すなわち、決定部15fは、到達階層および追加探索階層の加算値が探索上限階層を超える場合、終了予定階層を探索上限階層と同値に設定する。その後、決定部15fは、探索リストデータ13cに追加された探索URLに対応付けて、現時点における到達階層および終了予定階層を登録する。このとき、探索URLの終了予定階層が1つ前の探索URLの終了予定階層よりも小さい場合、1つ前の探索URLの終了予定階層を当該探索URLの終了予定階層として引き継ぐことができる。また、パターン(ニ)に該当する場合、すなわち距離が閾値Th3超過である場合、1つ前の探索URLの終了予定階層が当該探索URLの終了予定階層として自動的に引き継がれる。この場合、探索リストデータ13cに追加された探索URLには、1つ前の探索URLの終了予定階層および到達階層が対応付けて登録される。
その後、決定部15fは、到達階層が探索URLの終了予定階層未満、すなわち「到達階層<終了予定階層」であるか否かを判定する。このとき、到達階層<終了予定階層である場合、決定部15fは、到達階層が探索設定データ13aに含まれる探索上限階層未満、すなわち「到達階層<探索上限階層」であるか否かを判定する。そして、「到達階層<終了予定階層」かつ「到達階層<探索上限階層」である場合、当該探索URLについて到達階層よりも先の階層を探索する余地があることが判明する。一方、「到達階層=終了予定階層」または「到達階層=探索上限階層」である場合、当該探索URLについて到達階層よりも先の階層を探索する余地がないことが判明する。この場合、当該探索URLには探索の継続を禁止するフラグが設定される。
このようにWebページ内にリンクとして埋め込まれた探索URLごとに、当該探索URLと探索キーワードの距離に応じて探索URLの終了予定階層を設定した上で探索URLごとに到達階層および終了予定階層が対応付けられたデータのエントリを探索リストデータ13cに追加登録する。その後、Webページ内に探索キーワードおよび探索URLが含まれることを探索継続の条件として、到達階層が終了予定階層または探索上限階層のいずれかと等しくなるまで、探索リストデータ13cに含まれる探索URL、すなわち未探索であり、かつ探索継続が禁止されていない探索URLに基づいてWebページのリクエストを発行することにより、Webページの取得を繰り返す。これによって、目的サイトと関連が深いWebページを到達階層が終了予定階層または探索上限階層になるまで探索することができる。さらに、Webページの中でも確定キーワードを含むWebページのデータをコンテンツデータ13bとして保存することで、目的サイトと同定されたWebページを蓄積できる。
このようにコンテンツデータ13bとして保存されたWebページは、管理者端末20に公開することができる。例えば、コンテンツデータ13bに含まれるWebページのデータがインデックス化された索引データを用いて、管理者端末20により指定された検索キーワードにヒットするWebページのデータを出力することができる。この他、探索リストデータ13cに含まれる探索URLがリスト化された探索リストを管理者端末20に出力することもできる。
[探索例]
図4は、Webページの探索方法の一例を示す図である。図4には、起点URLとして「URL0」が設定されると共に探索上限階層が「10」に設定された探索設定データ13aにしたがって起点サイトからリンクの探索を介して終了するまでの過程が模式化して示されている。図4に示すように、URL0で指定されたWebページ400を起点として探索が開始される。すなわち、URL0が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ400が収集される。このWebページ400には、確定キーワードは含まれないので、保存は行われない。一方、Webページ400には、探索キーワードが含まれると共に、URL1及びURL2が含まれる。
図4は、Webページの探索方法の一例を示す図である。図4には、起点URLとして「URL0」が設定されると共に探索上限階層が「10」に設定された探索設定データ13aにしたがって起点サイトからリンクの探索を介して終了するまでの過程が模式化して示されている。図4に示すように、URL0で指定されたWebページ400を起点として探索が開始される。すなわち、URL0が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ400が収集される。このWebページ400には、確定キーワードは含まれないので、保存は行われない。一方、Webページ400には、探索キーワードが含まれると共に、URL1及びURL2が含まれる。
このうち、探索キーワードとURL1の距離は閾値Th1以下である。この場合、追加探索階層には「3」が設定されるので、終了予定階層は到達階層「0」および追加探索階層「3」の合計により「3」と求まる。この結果、探索リストデータ13cには、探索URL「URL1」に到達階層「0」および終了予定階層「3」が対応付けられたデータのエントリが追加される。また、探索キーワードとURL2の距離は閾値Th2以下である。この場合、追加探索階層には「2」が設定されるので、終了予定階層は到達階層「0」および追加探索階層「2」の合計により「2」と求まる。この結果、探索リストデータ13cには、探索URL「URL2」に到達階層「0」および終了予定階層「2」が対応付けられたデータのエントリが追加される。
このように探索リストデータ13cに追加されたエントリのうち、探索URL「URL1」のエントリが選択された場合、URL1が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ401が収集される。このWebページ401には、確定キーワードは含まれないので、保存は行われない。一方、Webページ401には、探索キーワードが含まれると共に、URL3及びURL4が含まれる。
このうち、探索キーワードとURL3の距離は閾値Th3以下である。この場合、追加探索階層には「1」が設定される。この場合、終了予定階層は到達階層「1」および追加探索階層「1」の合計により「2」と求まるが、1つ前のURL1の終了予定階層「3」の方が大きいので、URL3の終了予定階層には、1つ前のURL1の終了予定階層「3」が引き継がれる。この結果、探索リストデータ13cには、探索URL「URL3」に到達階層「1」および終了予定階層「3」が対応付けられたデータのエントリが追加される。また、探索キーワードとURL4の距離は閾値Th1以下である。この場合、追加探索階層には「3」が設定されるので、終了予定階層は到達階層「1」および追加探索階層「3」の合計により「4」と求まる。この結果、探索リストデータ13cには、探索URL「URL4」に到達階層「1」および終了予定階層「4」が対応付けられたデータのエントリが追加される。
このように探索リストデータ13cに追加されたエントリのうち、探索URL「URL3」のエントリが選択された場合、URL3が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ403が収集される。このWebページ403には、確定キーワードは含まれないので、保存は行われない。一方、Webページ403には、探索キーワードが含まれると共に、URL7が含まれる。そして、探索キーワードとURL7の距離は閾値Th3を超える。この場合、追加探索階層には「0」が設定される。この場合、URL7の終了予定階層には、1つ前のURL3の終了予定階層「3」が引き継がれる。この結果、探索リストデータ13cには、探索URL「URL7」に到達階層「2」および終了予定階層「3」が対応付けられたデータのエントリが追加される。
続いて、探索リストデータ13cに追加された探索URL「URL7」のエントリが選択された場合、URL7が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ407が収集される。このWebページ407には、確定キーワードは含まれないので、保存は行われない。さらに、Webページ407には、探索キーワードも含まれない。したがって、Webページ407よりも下位にあるWebページの探索は行われず、Webページ407よりも下位のWebページの探索は打ち切られる。
また、探索リストデータ13cに追加されたエントリのうち、探索URL「URL4」のエントリが選択された場合、URL4が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ404が収集される。このWebページ404には、確定キーワードは含まれないので、保存は行われない。一方、Webページ404には、探索キーワードが含まれると共に、URL8が含まれる。そして、探索キーワードとURL8の距離は閾値Th2以下である。この場合、追加探索階層には「2」が設定されるので、終了予定階層は到達階層「2」および追加探索階層「2」の合計により「4」と求まる。この結果、探索リストデータ13cには、探索URL「URL8」に到達階層「2」および終了予定階層「4」が対応付けられたデータのエントリが追加される。
このように探索リストデータ13cに追加された探索URL「URL8」のエントリにしたがってWebページ404よりも下位にあるWebページがWebページ内に探索キーワードおよび探索URLが含まれることを探索継続の条件として探索された場合、図4に示すように、到達階層が探索上限階層に達するまでWebページが収集される。すなわち、URLnが指定されたHTTPリクエストのレスポンスとしてWebページ400nが収集された段階で到達階層が探索上限階層「10」に到達する。このWebページ400nには、確定キーワードは含まれないので、保存は行われない。一方、Webページ400nには、探索キーワードが含まれると共に、URLn+1が含まれる。そして、探索キーワードとURLn+1の距離は閾値Th2以下であるので、追加探索階層には「2」が設定されるが、到達階層が探索上限階層「10」に到達している。この場合、探索リストデータ13cには、探索URL「URLn+1」に到達階層「10」、終了予定階層「10」および探索継続を禁止するフラグが対応付けられたデータのエントリが追加される。このフラグによって、Webページ400nよりも下位にあるWebページの探索は行われず、Webページ400nよりも下位のWebページの探索は打ち切られる。
一方、探索リストデータ13cに追加されたエントリのうち、探索URL「URL2」のエントリが選択された場合、URL2が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ402が収集される。このWebページ402には、確定キーワードが含まれるので、Webページ402のデータがコンテンツデータ13bとして保存される。さらに、Webページ402には、探索キーワードが含まれると共に、URL5及びURL6が含まれる。
このうち、探索キーワードとURL5の距離は閾値Th1以下である。この場合、追加探索階層には「3」が設定される。この場合、終了予定階層は到達階層「1」および追加探索階層「3」の合計により「4」と求まる。この結果、探索リストデータ13cには、探索URL「URL5」に到達階層「1」および終了予定階層「4」が対応付けられたデータのエントリが追加される。また、探索キーワードとURL6の距離は閾値Th3を超える。この場合、追加探索階層には「0」が設定されるので、URL6の終了予定階層には、1つ前のURL2の終了予定階層「2」が引き継がれる。この結果、探索リストデータ13cには、探索URL「URL6」に到達階層「1」および終了予定階層「2」が対応付けられたデータのエントリが追加される。
このように探索リストデータ13cに追加されたエントリのうち、探索URL「URL5」のエントリが選択された場合、URL5が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ405が収集される。このWebページ405には、確定キーワードが含まれるので、Webページ405のデータがコンテンツデータ13bとして保存される。さらに、Webページ405には、探索キーワードが含まれると共に、URL9が含まれる。そして、探索キーワードとURL9の距離は閾値Th2以下である。この場合、追加探索階層には「2」が設定されるので、終了予定階層は到達階層「2」および追加探索階層「2」の合計により「4」と求まる。この結果、探索リストデータ13cには、探索URL「URL9」に到達階層「2」および終了予定階層「4」が対応付けられたデータのエントリが追加される。
続いて、探索リストデータ13cに追加された探索URL「URL9」のエントリが選択された場合、URL9が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ409が収集される。このWebページ409には、確定キーワードが含まれるので、Webページ409のデータがコンテンツデータ13bとして保存される。さらに、Webページ409には、探索キーワードも含まれると共に、URL11が含まれる。そして、探索キーワードとURL11の距離は閾値Th1以下である。この場合、追加探索階層には「3」が設定されるので、終了予定階層は到達階層「3」および追加探索階層「3」の合計により「6」と求まる。この結果、探索リストデータ13cには、探索URL「URL11」に到達階層「3」および終了予定階層「6」が対応付けられたデータのエントリが追加される。
そして、探索リストデータ13cに追加された探索URL「URL11」のエントリが選択された場合、URL11が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ411が収集される。このWebページ411には、確定キーワードは含まれないので、保存は行われない。さらに、Webページ411には、探索キーワードもURLも含まれない。したがって、Webページ411のURL11の終了予定階層は「6」に設定されているものの、Webページ411よりも下位にあるWebページの探索は行われず、Webページ411よりも下位のWebページの探索は打ち切られる。
また、探索リストデータ13cに追加されたエントリのうち、探索URL「URL6」のエントリが選択された場合、URL6が指定されたHTTPリクエストを送信することにより、そのレスポンスとしてWebページ406が収集される。このWebページ406には、確定キーワードは含まれない。一方、Webページ406には、探索キーワードが含まれると共に、URL10が含まれる。しかしながら、探索キーワードとURL10の距離は閾値Th3を超える。この場合、追加探索階層には「0」が設定される。このため、URL10の終了予定階層には、1つ前のURL6の終了予定階層「2」が引き継がれる。この結果、探索リストデータ13cには、探索URL「URL10」に到達階層「2」、終了予定階層「2」および探索継続を禁止するフラグが対応付けられたデータのエントリが追加される。このフラグによって、Webページ406よりも下位にあるWebページの探索は行われず、Webページ406よりも下位のWebページの探索は打ち切られる。
以上のような探索が実行される結果、目的サイトの一例として、Webページ402、Webページ405およびWebページ409のデータを保存することができる。さらに、探索リストデータ13cに含まれるURL0〜URL11、URLnおよびURLn+1をリスト化することにより探索リストとして出力することもできる。
[処理の流れ]
図5及び図6は、実施例1に係る情報取得処理の手順を示すフローチャートである。この処理は、記憶部13に探索設定データ13aが新規に登録された場合、あるいは登録済みの探索設定データ13aに含まれるチェック周期が経過する場合などに実行される。なお、処理の開始時には、到達階層の値を保持する到達階層レジスタを初期値、例えば「0」に設定される。
図5及び図6は、実施例1に係る情報取得処理の手順を示すフローチャートである。この処理は、記憶部13に探索設定データ13aが新規に登録された場合、あるいは登録済みの探索設定データ13aに含まれるチェック周期が経過する場合などに実行される。なお、処理の開始時には、到達階層の値を保持する到達階層レジスタを初期値、例えば「0」に設定される。
図5に示すように、要求部15bは、記憶部13に記憶された探索設定データ13aに含まれる起点URLに基づいてHTTPリクエストをWebサーバ30に送信する(ステップS101)。続いて、受付部15cは、ステップS101で送信されたHTTPリクエストのレスポンスとして、Webサーバ30から送信されたWebページのデータを受け付ける(ステップS102)。そして、解析部15dは、ステップS102で受け付けたWebページのテキストマイニング等の解析を実行する(ステップS103)。
その後、判定部15eは、ステップS103の結果、ステップS102で受け付けたWebページに含まれるテキストの中から確定キーワードに対応する文字列が検出されたか否かを判定する(ステップS104)。
ここで、Webページに確定キーワードが含まれる場合(ステップS104Yes)、当該Webページが目的サイトに該当する可能性が高いと識別できる。この場合、判定部15eは、ステップS102で受け付けたWebページのデータ、例えばHTML文書のソースコード、HTML文書に埋め込まれた画像や動画のバイナリデータなどをコンテンツデータ13bとして記憶部13へ保存する(ステップS105)。なお、Webページに確定キーワードが含まれない場合(ステップS104No)、ステップS105の処理はスキップされる。
そして、決定部15fは、ステップS103の結果、ステップS102で受け付けたWebページに含まれるテキストの中から探索キーワードに対応する文字列が検出されたか否かを判定する(ステップS106)。
ここで、Webページに探索キーワードが含まれる場合(ステップS106Yes)、目的サイトそのもの、あるいは目的サイトに関するトピックが出現しているWebサイトである可能性が高いので、当該Webページ内のリンクを辿って探索を継続する価値があると識別できる。この場合、決定部15fは、ステップS102で受け付けたWebページに含まれるテキストの中からURLのリンクに対応する文字列が検出されたか否かをさらに判定する(ステップS107)。
なお、Webページに探索キーワードが含まれない場合(ステップS106No)、当該WebページにURLのリンクを探索しても目的サイトとの関連が希薄なWebページしか探索されない可能性が高まるので、以降の探索は打ち切られる。また、WebページにURLのリンクが含まれない場合(ステップS107No)、リンクを探索することができないので、探索が打ち切られる。これらの場合、図6に示すステップS120の処理へ移行する。
そして、Webページにリンクが含まれる場合(ステップS107)、決定部15fは、図6に示すように、当該リンクとして埋め込まれたURLのうち1つのURLを選択する(ステップS108)。続いて、決定部15fは、ステップS108で選択されたURLを探索URLとして記憶部13に記憶された探索リストデータ13cに追加登録する(ステップS109)。
その後、決定部15fは、ステップS108で選択されたURLとその最短の位置にある探索キーワードとの間で距離、例えば文字数などを算出する(ステップS110)。続いて、決定部15fは、探索キーワード及び探索URLの距離が閾値Th3以下であるか否かを判定する(ステップS111)。
このとき、探索キーワード及び探索URLの距離が閾値Th3以下である場合(ステップS111Yes)、決定部15fは、探索キーワード及び探索URLの距離に応じて、当該探索URLのリンクから追加で探索する追加探索階層を決定する(ステップS112)。そして、決定部15fは、図示しない到達階層レジスタに格納された到達階層および追加探索階層に基づいてリンクの探索の終了を予定する終了予定階層を算出する(ステップS113)。
一方、探索キーワード及び探索URLの距離が閾値Th3以下でない場合(ステップS111No)、決定部15fは、1つ前の探索URL(起点URLを含む)の終了予定階層を当該探索URLの終了予定階層として自動的に引き継ぐ(ステップS114)。
その後、決定部15fは、ステップS109で探索リストデータ13cに追加された探索URLのエントリに、図示しない到達階層レジスタに格納された到達階層と、ステップS113で算出された終了予定階層またはステップS114で引き継がれた終了予定階層とを登録する(ステップS115)。
そして、決定部15fは、到達階層が探索URLの終了予定階層または探索上限階層のいずれかに到達したか否か、すなわち「到達階層=終了予定階層」または「到達階層=探索上限階層」であるか否かを判定する(ステップS116およびステップS117)。
このとき、到達階層が探索URLの終了予定階層または探索上限階層のいずれかに到達した場合(ステップS116YesまたはステップS117Yes)、当該探索URLについて到達階層よりも先の階層を探索する余地がないことが判明する。この場合、決定部15fは、当該探索URLには探索の継続を禁止するフラグを設定する(ステップS118)。なお、到達階層が探索URLの終了予定階層または探索上限階層のいずれにも到達していない場合(ステップS116NoかつステップS117No)、ステップS118の処理がスキップされる。
その後、Webページにリンクとして埋め込まれた全てのURLが選択されるまで(ステップS119No)、上記のステップS108から上記のステップS118までの処理を繰り返し実行する。
そして、探索リストデータ13cに探索継続を禁止するフラグが設定されていない未探索の探索URLがなくなるまで(ステップS120Yes)、下記のステップS121の処理および下記のステップS122の処理の実行後に、ステップS102の処理へ移行する。すなわち、要求部15bは、図示しない到達階層レジスタに格納された値を探索リストデータ13cに含まれる未探索の探索URLに対応付けられた到達階層の値に上書き更新すると共に、探索リストデータ13cに含まれる未探索の探索URLに基づいてHTTPリクエストをWebサーバ30に送信する(ステップS121)。その上で、要求部15bは、図示しない到達階層レジスタに格納された到達階層を1つインクリメントする(ステップS122)。その後、ステップS102の処理へ移行し、ステップS102からステップS119までの処理を繰り返し実行する。
その後、探索リストデータ13cに探索継続を禁止するフラグが設定されていない未探索の探索URLがなくなった場合(ステップS120No)、処理を終了する。
[効果の一側面]
上述してきたように、本実施例に係る情報取得装置10は、Webページに目的サイトを絞り込むキーワードの文字列とURLのリンクが含まれる場合、両者の距離に応じて当該URLのリンクから追加で探索する階層を決定する。このため、例えば、キーワードとURLの距離が近い場合、Webページ内のリンクの探索を継続する一方で、キーワードとURLの距離が遠い場合、Webページ内のリンクの探索を打ち切ることができる。それ故、Webページ内のリンクが目的サイトに該当する可能性が高い場合に探索を継続する一方で、Webページ内のリンクが目的サイトに該当する可能性が低い場合に探索を打ち切ることができる。したがって、本実施例に係る情報取得装置10によれば、目的サイトの収集漏れを抑制することが可能になる。さらに、本実施例に係る情報取得装置10によれば、目的外のサイトが収集されるのを抑制できるので、収集データ量が増大するのも抑制することが可能になる。
上述してきたように、本実施例に係る情報取得装置10は、Webページに目的サイトを絞り込むキーワードの文字列とURLのリンクが含まれる場合、両者の距離に応じて当該URLのリンクから追加で探索する階層を決定する。このため、例えば、キーワードとURLの距離が近い場合、Webページ内のリンクの探索を継続する一方で、キーワードとURLの距離が遠い場合、Webページ内のリンクの探索を打ち切ることができる。それ故、Webページ内のリンクが目的サイトに該当する可能性が高い場合に探索を継続する一方で、Webページ内のリンクが目的サイトに該当する可能性が低い場合に探索を打ち切ることができる。したがって、本実施例に係る情報取得装置10によれば、目的サイトの収集漏れを抑制することが可能になる。さらに、本実施例に係る情報取得装置10によれば、目的外のサイトが収集されるのを抑制できるので、収集データ量が増大するのも抑制することが可能になる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
[ユースケースの具体例]
例えば、上記の実施例1に係る情報取得装置10は、違法サイトや有害サイトを収集したり、その探索URLがリスト化された探索リストを生成したりする場合に適用することができる。一例として、違法薬物を販売するサイトの情報を取得する場合、起点サイトとして各種の掲示板サイトのトップページを設定することができる。さらに、探索キーワードには、「自己責任」、「販売サイト」および「受け渡し手続」のうち少なくともいずれか1つもしくは組合せを設定することができる。また、確定キーワードには、「麻薬」や「ドラッグ」などの単語の他、「アイス」や「野菜」などの隠語を設定することができる。また、偽造身分証明書を販売するサイトの情報を取得する場合、起点サイトとして各種の掲示板サイトのトップページを設定することができる。さらに、探索キーワードには、「自己責任」、「口座」および「扱って」のうち少なくともいずれか1つもしくは組合せを設定することができる。また、確定キーワードには、偽造などの単語を設定することができる。
例えば、上記の実施例1に係る情報取得装置10は、違法サイトや有害サイトを収集したり、その探索URLがリスト化された探索リストを生成したりする場合に適用することができる。一例として、違法薬物を販売するサイトの情報を取得する場合、起点サイトとして各種の掲示板サイトのトップページを設定することができる。さらに、探索キーワードには、「自己責任」、「販売サイト」および「受け渡し手続」のうち少なくともいずれか1つもしくは組合せを設定することができる。また、確定キーワードには、「麻薬」や「ドラッグ」などの単語の他、「アイス」や「野菜」などの隠語を設定することができる。また、偽造身分証明書を販売するサイトの情報を取得する場合、起点サイトとして各種の掲示板サイトのトップページを設定することができる。さらに、探索キーワードには、「自己責任」、「口座」および「扱って」のうち少なくともいずれか1つもしくは組合せを設定することができる。また、確定キーワードには、偽造などの単語を設定することができる。
[探索キーワード]
上記の実施例1では、Webページに探索キーワードが含まれることをリンクの探索を継続する条件とする場合を例示したが、探索キーワードの範囲を拡張することもできる。例えば、確定キーワードを探索キーワードとしても設定し、探索キーワードまたは確定キーワードのいずれかがWebページに含まれる場合、リンクの探索を継続することもできる。この場合、URLとの間で距離を算出するキーワードは、当該URLから最寄りの探索キーワードまたは確定キーワードのいずれかを用いることができる。
上記の実施例1では、Webページに探索キーワードが含まれることをリンクの探索を継続する条件とする場合を例示したが、探索キーワードの範囲を拡張することもできる。例えば、確定キーワードを探索キーワードとしても設定し、探索キーワードまたは確定キーワードのいずれかがWebページに含まれる場合、リンクの探索を継続することもできる。この場合、URLとの間で距離を算出するキーワードは、当該URLから最寄りの探索キーワードまたは確定キーワードのいずれかを用いることができる。
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、設定部15a、要求部15b、受付部15c、解析部15d、判定部15eまたは決定部15fを情報取得装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、設定部15a、要求部15b、受付部15c、解析部15d、判定部15eまたは決定部15fを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報取得装置10の機能を実現するようにしてもよい。また、記憶部に記憶される探索設定データ13a、コンテンツデータ13bまたは探索リストデータ13cの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報取得装置10の機能を実現するようにしてもかまわない。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、設定部15a、要求部15b、受付部15c、解析部15d、判定部15eまたは決定部15fを情報取得装置10の外部装置としてネットワーク経由で接続するようにしてもよい。また、設定部15a、要求部15b、受付部15c、解析部15d、判定部15eまたは決定部15fを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報取得装置10の機能を実現するようにしてもよい。また、記憶部に記憶される探索設定データ13a、コンテンツデータ13bまたは探索リストデータ13cの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報取得装置10の機能を実現するようにしてもかまわない。
[情報取得プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図7を用いて、上記の実施例と同様の機能を有する情報取得プログラムを実行するコンピュータの一例について説明する。
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図7を用いて、上記の実施例と同様の機能を有する情報取得プログラムを実行するコンピュータの一例について説明する。
図7は、実施例1及び実施例2に係る情報取得プログラムを実行するコンピュータのハードウェア構成例を示す図である。図7に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
HDD170には、図7に示すように、上記の実施例1で示した設定部15a、要求部15b、受付部15c、解析部15d、判定部15e及び決定部15fと同様の機能を発揮する情報取得プログラム170aが記憶される。この情報取得プログラム170aは、図1に示した設定部15a、要求部15b、受付部15c、解析部15d、判定部15e及び決定部15fの各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
このような環境の下、CPU150は、HDD170から情報取得プログラム170aを読み出した上でRAM180へ展開する。この結果、情報取得プログラム170aは、図7に示すように、情報取得プロセス180aとして機能する。この情報取得プロセス180aは、RAM180が有する記憶領域のうち情報取得プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、情報取得プロセス180aが実行する処理の一例として、図5及び図6に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
なお、上記の情報取得プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に情報取得プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から情報取得プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに情報取得プログラム170aを記憶させておき、コンピュータ100がこれらから情報取得プログラム170aを取得して実行するようにしてもよい。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)Webページのデータを受け付け、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータに実行させることを特徴とする情報取得プログラム。
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータに実行させることを特徴とする情報取得プログラム。
(付記2)前記決定する処理は、前記文字列と前記URLの距離が近くなるにしたがって前記探索の対象とするWebページの階層を深く決定することを特徴とする付記1に記載の情報取得プログラム。
(付記3)前記決定する処理は、前記文字列と前記URLの距離が遠くなるにしたがって前記探索の対象とするWebページの階層を浅く決定することを特徴とする付記1に記載の情報取得プログラム。
(付記4)前記判定する処理は、決定した前記階層に応じたWebページのデータに前記特定の文字列とは異なる所定の文字列が含まれる否かを判定することを特徴とする付記1に記載の情報取得プログラム。
(付記5)前記距離は、前記文字列と前記URLの間に存在する文字の数、または、前記文字列と前記URLの間に存在する文字のデータ量であることを特徴とする付記1に記載の情報取得プログラム。
(付記6)Webページのデータを受け付け、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータが実行することを特徴とする情報取得方法。
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータが実行することを特徴とする情報取得方法。
(付記7)前記決定する処理は、前記文字列と前記URLの距離が近くなるにしたがって前記探索の対象とするWebページの階層を深く決定することを特徴とする付記6に記載の情報取得方法。
(付記8)前記決定する処理は、前記文字列と前記URLの距離が遠くなるにしたがって前記探索の対象とするWebページの階層を浅く決定することを特徴とする付記6に記載の情報取得方法。
(付記9)前記判定する処理は、決定した前記階層に応じたWebページのデータに前記特定の文字列とは異なる所定の文字列が含まれる否かを判定することを特徴とする付記6に記載の情報取得方法。
(付記10)前記距離は、前記文字列と前記URLの間に存在する文字の数、または、前記文字列と前記URLの間に存在する文字のデータ量であることを特徴とする付記6に記載の情報取得方法。
(付記11)Webページのデータを受け付ける受付部と、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定する決定部と、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する判定部と、
を有することを特徴とする情報取得装置。
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定する決定部と、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する判定部と、
を有することを特徴とする情報取得装置。
(付記12)前記決定部は、前記文字列と前記URLの距離が近くなるにしたがって前記探索の対象とするWebページの階層を深く決定することを特徴とする付記11に記載の情報取得装置。
(付記13)前記決定部は、前記文字列と前記URLの距離が遠くなるにしたがって前記探索の対象とするWebページの階層を浅く決定することを特徴とする付記11に記載の情報取得装置。
(付記14)前記判定部は、決定した前記階層に応じたWebページのデータに前記特定の文字列とは異なる所定の文字列が含まれる否かを判定することを特徴とする付記11に記載の情報取得装置。
(付記15)前記距離は、前記文字列と前記URLの間に存在する文字の数、または、前記文字列と前記URLの間に存在する文字のデータ量であることを特徴とする付記11に記載の情報取得装置。
1 情報取得システム
10 情報取得装置
11 通信I/F部
13 記憶部
13a 探索設定データ
13b コンテンツデータ
13c 探索リストデータ
15 制御部
15a 設定部
15b 要求部
15c 受付部
15d 解析部
15e 判定部
15f 決定部
20 管理者端末
30 Webサーバ
10 情報取得装置
11 通信I/F部
13 記憶部
13a 探索設定データ
13b コンテンツデータ
13c 探索リストデータ
15 制御部
15a 設定部
15b 要求部
15c 受付部
15d 解析部
15e 判定部
15f 決定部
20 管理者端末
30 Webサーバ
Claims (6)
- Webページのデータを受け付け、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータに実行させることを特徴とする情報取得プログラム。 - 前記決定する処理は、前記文字列と前記URLの距離が近くなるにしたがって前記探索の対象とするWebページの階層を深く決定することを特徴とする請求項1に記載の情報取得プログラム。
- 前記判定する処理は、決定した前記階層に応じたWebページのデータに前記特定の文字列とは異なる所定の文字列が含まれる否かを判定することを特徴とする請求項1または2に記載の情報取得プログラム。
- 前記距離は、前記文字列と前記URLの間に存在する文字の数、または、前記文字列と前記URLの間に存在する文字のデータ量であることを特徴とする請求項1、2または3に記載の情報取得プログラム。
- Webページのデータを受け付け、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定し、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する、
処理をコンピュータが実行することを特徴とする情報取得方法。 - Webページのデータを受け付ける受付部と、
受け付けた前記データに特定の文字列とURLが含まれる場合、前記文字列と前記URLの距離に応じて、探索の対象とするWebページの階層を決定する決定部と、
決定した前記階層に応じたWebページのデータが特定の条件を満たすか否かを判定する判定部と、
を有することを特徴とする情報取得装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028149A JP2019144823A (ja) | 2018-02-20 | 2018-02-20 | 情報取得プログラム、情報取得方法及び情報取得装置 |
US16/278,565 US20190258688A1 (en) | 2018-02-20 | 2019-02-18 | Information acquisition device and information acquisition method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018028149A JP2019144823A (ja) | 2018-02-20 | 2018-02-20 | 情報取得プログラム、情報取得方法及び情報取得装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019144823A true JP2019144823A (ja) | 2019-08-29 |
Family
ID=67617857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018028149A Pending JP2019144823A (ja) | 2018-02-20 | 2018-02-20 | 情報取得プログラム、情報取得方法及び情報取得装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190258688A1 (ja) |
JP (1) | JP2019144823A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301121A (zh) * | 2021-04-30 | 2021-08-24 | 北京邮电大学 | 一种机器人遥操作中指令的传输方法及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579839B (zh) * | 2022-03-17 | 2024-05-03 | 杭州云深科技有限公司 | 一种基于网页的数据处理系统 |
-
2018
- 2018-02-20 JP JP2018028149A patent/JP2019144823A/ja active Pending
-
2019
- 2019-02-18 US US16/278,565 patent/US20190258688A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113301121A (zh) * | 2021-04-30 | 2021-08-24 | 北京邮电大学 | 一种机器人遥操作中指令的传输方法及系统 |
CN113301121B (zh) * | 2021-04-30 | 2022-05-17 | 北京邮电大学 | 一种机器人遥操作中指令的传输方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190258688A1 (en) | 2019-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150874B2 (en) | API specification generation | |
US8903800B2 (en) | System and method for indexing food providers and use of the index in search engines | |
WO2019037258A1 (zh) | 信息推荐的装置、方法、系统及计算机可读存储介质 | |
US20180253439A1 (en) | Characterizing files for similarity searching | |
JP2007148885A (ja) | コンテンツ収集装置およびコンテンツ収集システム | |
US10491606B2 (en) | Method and apparatus for providing website authentication data for search engine | |
JP2019144823A (ja) | 情報取得プログラム、情報取得方法及び情報取得装置 | |
CN103914479A (zh) | 资源请求的匹配方法和装置 | |
US20190266194A1 (en) | Information analysis system, information analysis method, and recording medium | |
US20170193119A1 (en) | Add-On Module Search System | |
CN112579853A (zh) | 一种对爬取链接排序的方法、装置及存储介质 | |
JP6194180B2 (ja) | 文章マスク装置及び文章マスクプログラム | |
CN107784054B (zh) | 一种页面发布方法和装置 | |
JP5228529B2 (ja) | データ検索プログラム、データ検索装置およびデータ検索方法 | |
JP5462713B2 (ja) | Webページ収集装置、方法及びプログラム | |
CN104965926B (zh) | 网页提供方法及装置 | |
CN104615686B (zh) | 一种搜索方法及装置 | |
JP2006185167A (ja) | ファイル検索方法、ファイル検索装置、および、ファイル検索プログラム | |
WO2017113324A1 (zh) | 基于正则表达式的url过滤方法 | |
JP2005339282A (ja) | サービス検索装置とその方法、プログラム | |
JP6749865B2 (ja) | 情報収集装置、および、情報収集方法 | |
CN114625947A (zh) | 确定url爬虫优先级的方法、爬虫方法、介质及爬虫系统 | |
JP6960274B2 (ja) | データ収集装置、データ収集方法、およびプログラム | |
CN108255831B (zh) | 一种用于为网站生成网站地图的方法及系统 | |
JP2009129202A (ja) | データ処理装置、データ処理方法、および、プログラム |