0

私は、フォーラムのスレッドで議論の進捗状況を分析する必要があるデータマイニングプロジェクトに取り組んでいます。投稿の時間、投稿者の統計(投稿数、参加日など)、投稿のテキストなどの情報を抽出することに興味があります。

ただし、標準のスクレイピングツール(PythonのScrapyなど)を使用している間は、ページのhtmlソースでこれらのフィールドを検出するための正規表現を作成する必要があります。これらのタグはフォーラムの種類によって異なるため、すべてのフォーラムの正規表現に取り組むことが大きな問題になりつつあります。フォーラムの種類に応じて使用できるように、このような正規表現の標準バンクを利用できますか?

または、フォーラムのページからこれらのフィールドを抽出する他の手法はありますか。

4

2 に答える 2

1

私はいくつかの主要なフォーラムのためにいくつかの構成ファイルを書きました。あなたがそれを解析する方法を解読して推測できることを願っています。

VBulletinの場合:

enclosed_section=tag:table,attributes:id;threadslist
thread=tag:a,attributes:id;REthread_title_
list_next_page=type:next_page,attributes:anchor_text;>
post=tag:div,attributes:id;REpost_message_
thread_next_page=type:next_page,attributes:anchor_text;>

Enclosed_sectionは、すべてのスレッドへのリンクを含むdivです。threadは、各スレッドへのリンクを見つける場所です。list_next_pageは、スレッドのリストを含む次のページへのリンクです。postは、投稿テキストを含むdivです。thread_next_pageは、スレッドの次のページへのリンクです

Invisionの場合:

enclosed_section=tag:table,attributes:id;forum_table
thread=tag:a,attributes:class;topic_title
list_next_page=tag:a,attributes:rel;next,inside_tag_attribute:href
post=tag:div,attributes:class;post entry-content |
thread_next_page=tag:a,attributes:rel;next,inside_tag_attribute:href
post_count_section=tag:td,attributes:class;stats
post_count=tag:li,attributes:,reg_exp:(\d+) Repl
于 2011-04-02T04:15:39.903 に答える
1

それでも、フォーラムごとにいくつかのアプローチを作成する必要があります。しかし、ヘンリーが示唆しているように、その構造を共有するフォーラムもたくさんあります。

フォーラムのスレッドの日付を簡単に解析することについて、dateparserはこの特定の要件から生まれたものであり、非常に役立つ可能性があります。

于 2016-12-20T03:36:13.727 に答える