0

グループの1つ(クラスディスカッション)をリセットしたいのですが、参照用にディスカッションを保持したいと思います。投稿は多くなく(おそらく50)、手動で行うこともできますが、Google AppsスクリプトまたはPythonを使用してそれを行う方法はありますか?

私はいくつかの可能性を見つけましたが、どちらも私が精通している言語ではありません(私は翻訳できるかもしれませんが):

このリンク:http ://saturnboy.com/2010/03/scraping-google-groups/

このPerlコード:

#!/usr/bin/perl
# groups2csv.pl
# Google Groups results exported to CSV suitable for import into Excel.
# Usage: perl groups2csv.pl < groups.html > groups.csv

# The CSV Header.
print qq{"title","url","group","date","author","number of articles"\n};

# The base URL for Google Groups.
my $url = "http://groups.google.com";

# Rake in those results.
my($results) = (join '', <>);

# Perform a regular expression match to glean individual results.
while ( $results =~ m!<a href=(/groups[^\>]+?rnum=[0-9]+)>(.+?)</a>.*?
<br>(.+?)<br>.*?<a href="?/groups.+?class=a>(.+?)</a> - (.+?) by 
(.+?)\s+.*?\(([0-9]+) article!mgis ) {
    my($path, $title, $snippet, $group, $date, $author, $articles) =
        ($1||'',$2||'',$3||'',$4||'',$5||'',$6||'',$7||'');
    $title =~ s!"!""!g; # double escape " marks
    $title =~ s!<.+?>!!g; # drop all HTML tags
    print qq{"$title","$url$path","$group","$date","$author","$articles"\n\n};
}
4

1 に答える 1

0

このwebapps questionと このフォーラム ディスカッションで言及されているHTTrack ユーティリティを見てください。

注記 私は、あなたが実際にはスクレイピングやデータの処理を望んでおらず、将来の参照用に議論のコピーを持っているだけであると想定しています。

編集: 実際にスクリーン スクレイプを行いたい場合は、これも実行できますが、それを実行するためのスクリプトを作成すると、かなりの時間を浪費する可能性があります。スクリーン スクレイピングは、html ドキュメント全体を取得するというよりも、html ドキュメントから特定のデータを抽出することを目的としています。スクリーン スクレイプが必要になる例としては、jeopardy の Web サイトを見ていて、個々の質問、そのポイント値、正解者、どのゲームで発生したかなどを取得してデータベースに挿入したい場合があります。

于 2012-08-21T20:21:18.327 に答える