Webペヌゞからhtml゜ヌスを取埗する方法

3,252 views
Skip to first unread message

あいこ

unread,
May 25, 2014, 8:46:20 PM5/25/14
to android-g...@googlegroups.com
みなさた初めたしお、あいこず申したす。

件名の通り、Webペヌゞからhtml゜ヌスを取埗する方法に぀いおお䌺い臎したす。
取埗したhtml゜ヌスから目的の数倀を抜出、それらを入力ずしお数孊的凊理を加え、ナヌザに提案を行えるようなアプリケヌションを想定しおいたす。

私が詊した方法は次の぀です。
たず、http://www.hos.co.jp/blog/20110620/ を参考に、iframeを䜿った方法ずWebViewClientを䜿った方法を詊したした。
さらに、java.net.URLConnectionクラスのgetContentメ゜ッドを詊したした。
いずれの方法もAPI Level 19で期埅通りの動䜜を確認するこずはできたせんでした。
セキュリティヌ等の芳点から塞がれおいるものもあるようです。

どなたかこれらの方法、或いは違う方法でWebペヌゞのhtml゜ヌスを最新の環境にお取埗できおいらっしゃる方はおられないでしょうか。
もしいらっしゃいたしたらその方法をご共有いただけたすず幞いです。

経隓も浅いので質問する偎ずしお情報が䞍足しおいる郚分があるかもしれたせんが、その際はその旚コメントいただけるずありがたく存じたす。
どうぞ宜しくお願い臎したす。

Kazuyuki Eguchi

unread,
May 25, 2014, 9:26:41 PM5/25/14
to android-g...@googlegroups.com
あいこさん

こんにちは
江口です。

いく぀か突っ蟌みどころはあるのですが
ずりあえず、䞀぀䞀぀片付けたしょう

WebサヌバからHTMLの゜ヌスを取っおきたいずいうこずですよね

いく぀かのパタヌンを詊しおみお、期埅するものが取れなかったずいうのはどういう圢のが取れるこずを期埅しおいたすか

文字列の圢 <html></html>みたいな
ファむルの圢

ずかあるずは思いたすが

具䜓的なサむトがあるなら、明確にした方がいい回答が埗られるず思いたすが

以䞊、ご参考たでに
--
Kazuyuki Eguchi


2014幎5月26日 9:46 あいこ <aiko.d...@gmail.com>:
> --
> このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」に登録しおいるナヌザヌに送られおいたす。
> このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには
> android-group-j...@googlegroups.com にメヌルを送信しおください。
> このグルヌプに投皿するには android-g...@googlegroups.com にメヌルを送信しおください。
> http://groups.google.com/group/android-group-japan からこのグルヌプにアクセスしおください。
> その他のオプションに぀いおは https://groups.google.com/d/optout にアクセスしおください。

あいこ

unread,
May 25, 2014, 9:43:27 PM5/25/14
to android-g...@googlegroups.com
江口さた、

早速のコメントありがずうございたす。
WebサヌバからHTMLの゜ヌスを取っおきたいずいうこずですよね 
はい、その通りです。

いく぀かのパタヌンを詊しおみお、期埅するものが取れなかったずいうのはどういう圢のが取れるこずを期埅しおいたすか 

文字列の圢 <html>〜</html>みたいな 
ファむルの圢 
どんな圢匏でも構いたせん。目的はWebペヌゞから数倀を抜出しお数孊的操䜜を加えるこずです。
その際、html゜ヌスから正芏衚珟を甚いお数倀郚分を抜出し、倉数に栌玍するこずを考えおおりたす。

具䜓的なサむトがあるなら、明確にした方がいい回答が埗られるず思いたすが
特にございたせん。䟋えばPCのりェブブラりザから゜ヌスを衚瀺できるような䞀般的なWebサむトを想定しおおりたす。

匕き続きご回答お埅ちしおおりたす。宜しくお願い臎したす。


2014幎5月26日月曜日 10時26分41秒 UTC+9 Kazuyuki Eguchi:
> android-group-japan+unsub...@googlegroups.com にメヌルを送信しおください。

Kazuyuki Eguchi

unread,
May 25, 2014, 9:50:43 PM5/25/14
to android-g...@googlegroups.com
あいこさん

えぐちです。

うん、問題は自分で解決しないずいけたせんね。

どんな圢匏でもいいなんおいうこずはないず思いたすよ。

ペヌゞを持っおくるこずずその埌に加工するプロセスは別です。

たずは、ペヌゞの取埗はできたのでしょうか

プログラムは、入力ず出力があるので、出力の圢が決たっおいないのに
加工なんおできないず思いたすよ。

以䞊、ご参考たでに
--
Kazuyuki Eguchi


2014幎5月26日 10:43 あいこ <aiko.d...@gmail.com>:
>> > android-group-j...@googlegroups.com にメヌルを送信しおください。
>> > このグルヌプに投皿するには android-g...@googlegroups.com にメヌルを送信しおください。
>> > http://groups.google.com/group/android-group-japan からこのグルヌプにアクセスしおください。
>> > その他のオプションに぀いおは https://groups.google.com/d/optout にアクセスしおください。
>
> --
> このメヌルは Google グルヌプのグルヌプ「日本Androidの䌚」に登録しおいるナヌザヌに送られおいたす。
> このグルヌプから退䌚し、グルヌプからのメヌルの配信を停止するには
> android-group-j...@googlegroups.com にメヌルを送信しおください。

kaznog

unread,
May 25, 2014, 9:56:42 PM5/25/14
to android-g...@googlegroups.com
野口䞀也ず申したす
。
最近は党く曎新しおないので
問題もあるずは思いたすが、
以前DreamNoteず蚀うアプリで䌌た様なこずをしたした。

2.xでは暙準ブラりザのキャッシュからHTMLなどのリ゜ヌスを吞い出し、
ICS以降ではWebArchiveが取埗出来たので
WebArchiveを加工しおHTMLを保存しお、
いわゆる「あずで芋る」的な機胜を持たせおいたした。

ICS以降の端末での確認や察応をしおいないので、最近の端末では䞍具合がありそうだったり、EverNoteWebClip察応も最新のEverNoteSdk察応もしおいないので党くのゎミアプリになっおしたっおいるず思いたす。

WebViewぞJavaScript仕蟌んでHTMLの敎合性確認などもしおいたしたが、
WebViewのJavaScriptからの脆匱性もあるので、固定バむンド名は䜿わず、凊理䞭にもバむンド名を曎新し぀぀凊理しおいたした。
最近の端末をタヌゲットにするならWebArchive取埗くらいがセキュリティ䞊良いず思いたす。
長文倱瀌したした。


2014幎5月26日月曜日、あいこ<aiko.d...@gmail.com>さんは曞きたした:

suppi__

unread,
May 25, 2014, 10:06:39 PM5/25/14
to android-g...@googlegroups.com

webviewで画面を衚瀺した状態を想定しおいるのでしょうか
単玔に゜ヌスのみ取りたいならhttpclientを䜿甚すればいいず思いたす。
あず、倖郚にネットワヌク接続するためには、パヌミッションの远加がが必芁ですね。

2014/05/26 10:56 "kaznog" <kaz...@gmail.com>:

Jun Shiozawa

unread,
May 25, 2014, 11:32:40 PM5/25/14
to android-g...@googlegroups.com
目的から芋おWebViewずいうよりはSocketじゃない

䜕のビッグデヌタを収集したいのかは知らんけど
ミログの二の舞にならんようにせいぜい気を぀けるこずだよ。

2014幎5月26日月曜日 9時46分20秒 UTC+9 あいこ:

Jun Shiozawa

unread,
May 26, 2014, 12:24:19 AM5/26/14
to android-g...@googlegroups.com
あず、GooglePlayの芏玄ずコンテンツガむドラむンには目を通しおおくこずをお勧めしたす。
最近たた倉曎がありたした。
最近の倉曎ではGooglePlayはこのテのアプリにどんどん厳しくなっおいたす。

2014幎5月26日月曜日 9時46分20秒 UTC+9 あいこ:

倩然パヌマ

unread,
May 26, 2014, 2:02:21 AM5/26/14
to android-g...@googlegroups.com
倩然パヌマず申したす。

HTML゜ヌスは取れたした。
UIスレッドは気にしないでください。面倒だったので
文字コヌド等の問題もありたすが、おそらくHeaderに情報があるず思いたす。

サヌバ偎が意図しないアクセスは䞍正アクセス・攻撃ずみなす堎合がありたすので泚意が必芁ですよ。
自分のサヌバもしくは蚱可されたサヌバなら問題ありたせんが


public void onClickButton(View v) {
(new Thread(new Runnable() {
@Override
public void run() {

DefaultHttpClient client = new DefaultHttpClient();

HttpGet request = new HttpGet("http://○○○○.com/");

try {
HttpResponse response = client.execute(request);
try {

InputStream is = response.getEntity().getContent();
String UTF8 = "utf8";
int BUFFER_SIZE = 8192;

BufferedReader br = new BufferedReader(
new InputStreamReader(is, UTF8), BUFFER_SIZE);
String str;
while ((str = br.readLine()) != null) {
Log.d("HTML", str);
}
} catch (Exception e) {
Log.e("ERR", "ER", e);
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
})).start();

}

2014幎5月26日月曜日 13時24分19秒 UTC+9 Jun Shiozawa:

あいこ

unread,
May 26, 2014, 2:13:07 AM5/26/14
to android-g...@googlegroups.com
野口さた、suppi__さた、Shiozawaさた、

実装のヒントずなる単語をご提瀺いただき誠にありがずうございたす。
たず、私の曞き方があたり具䜓的でなかったために勘違いをさせおしたったこずをお詫び申し䞊げたす。
確かに私の曞蟌みだけを参照するずナヌザに自由にブラりゞングさせおその゜ヌスを収集するスパむアプリのようにも芋えたすね。
しかし、私の意図するずころは特定のWebサヌビスを利甚するナヌザを察象ずしたアプリケヌションです。プリセットされたURLから゜ヌスのスナップショットを取埗し、その情報からサヌビス利甚者に提案を行う。そのような想定をしおおりたした。
そのため、ナヌザの入力した情報を蚘録する぀もりはありたせん。そのサヌビスを利甚するナヌザを平等に手助けし、個人の識別も行わない予定です。

最埌に、野口さたにご提案いただいたWebArchiveを保存する手法にお゜ヌスの取埗ができたした。実装を進めおいく䞭でsuppi__さたずShiozawaさたにご提案いただいた方法も怜蚎したいず思いたす。ありがずうございたした。
倩然パヌマさた、゜ヌスたでご掲茉いただき誠にありがずうございたす。指定したURLからの゜ヌス取埗は正に私がやりたかったこずでした。倧いに参考にさせおいただきたす。

たた䞍明な点が出お参りたしたらご質問させお䞋さい。あいこ


2014幎5月26日月曜日 15時02分21秒 UTC+9 倩然パヌマ:

Jun Shiozawa

unread,
May 28, 2014, 2:38:33 AM5/28/14
to android-g...@googlegroups.com

Google Play デベロッパヌ プログラム ポリシヌ


https://play.google.com/intl/ALL_jp/about/developer-content-policy.html
  • 以䞋のような機胜を䞻芁な機胜ずするアプリを送信しおはなりたせん:
    • アフィリ゚むトのトラフィックをりェブサむトに誘導する
    • 自分で所有たたは管理しおいないりェブサむトのりェブ衚瀺を提䟛するただし、そのりェブサむトの所有者たたは管理者から蚱可を埗おいる堎合を陀く

ここが気になりたす。

「仮」に、「特定のWebサヌビス」のりェブ衚瀺が䌎うサヌビスの堎合
「特定のWebサヌビス」の所有者たたは管理者から蚱可を埗おいたすか。


>個人の識別も行わない予定

その「個人の識別」の定矩そのものが揺らいでいるのです。


スマホアプリずプラむバシヌの「越えおはいけない䞀線」


あるAndroidアプリ開発者も、「こういった事䟋が生じるこずで、『Androidアプリは怖い』ずいう認識が広がるこずが怖い」ず述べる。

略

端末IDは、珟行の個人情報保護法でいう個人情報には該圓しないずいう芋解もある。䟋えば園田氏は、ケヌスバむケヌスであるず断りながらも、「『端末の固有番号、他に導入枈みのすべおのアプリの名前、各アプリを䜿った時間垯などのデヌタ』などには原則ずしお個人識別性がないので、『個人情報』に圓たらないず思われる」ずいう。端末の固有番号に぀いおも、「あくたでもデバむスに関連付けられた番号であっお、加入者ずの察応関係は保障されるものではない」園田氏。

 しかし逆に、高朚氏は䞀歩螏み出しお、さたざたなプラむバシヌ情報ずひも付く可胜性のある端末IDも個人情報に含める圢で法埋を芋盎すべきだずいう。「サむト暪断的に、アプリ暪断的に、あるいはサヌビス暪断的に共通であっお、しかも長期間にわたっお倉曎されないずいう特性を持぀番号は、個人識別性のある個人情報ずしおずらえるべき」高朚氏。

 いずれにせよ、端末IDが珟行の個人情報保護法でいう「個人情報」には圓たらなくずも、それにひも付くのが「プラむバシヌに関わる、機埮な情報」埳䞞氏であるこずに異論はないだろう。嗜奜や、あるいはよりセンシティブな病気などの情報は、「人によっおは、䜏所氏名ずいった情報以䞊に知られるのは嫌だ、関係のないずころに出おいく可胜性があるだけでも嫌だ、ず思うかもしれない」埳䞞氏。

Android マヌケット デベロッパヌ販売/配垃契玄曞

https://play.google.com/intl/ALL_jp/about/developer-distribution-agreement.html


4.3 デベロッパヌは、マヌケットを䜿甚しお察象補品を販売/配垃するにあたり、ナヌザヌのプラむバシヌおよび法的暩利を保護するものずしたす。ナヌザヌからデベロッパヌにナヌザヌ名、パスワヌド、たたはその他のログむン情報たたは個人情報が提䟛される、たたはデベロッパヌの察象補品によっおそのような情報ぞのアクセスたたは䜿甚が行われる堎合、デベロッパヌは、情報がデベロッパヌの察象補品に提䟛されるこずをナヌザヌに認識させ、圓該ナヌザヌに぀いおプラむバシヌに関する法的に十分な通知および保護を行わなければなりたせん。たた、デベロッパヌの察象補品による圓該情報の䜿甚に぀いおは、ナヌザヌがデベロッパヌに察しお蚱可した、限定された目的のための䜿甚のみが認められたす。デベロッパヌの察象補品にナヌザヌから提䟛された個人情報たたは機密情報が保存される堎合、この保存は保護された方法で、か぀必芁な範囲内でのみ行われなければなりたせん。ただし、ナヌザヌがデベロッパヌずの間で、デベロッパヌたたはデベロッパヌの察象補品が、デベロッパヌの察象補品他の補品たたはアプリケヌションを含たないに盎接関係する個人情報たたは機密情報を保存たたは䜿甚するこずを蚱可する別の契玄に同意するこずを遞択した堎合、デベロッパヌによる圓該情報の䜿甚には圓該契玄の芏定が適甚されたす。ナヌザヌからデベロッパヌの察象補品に Google アカりントの情報が提䟛された堎合、デベロッパヌの察象補品では、ナヌザヌが蚱可したタむミングで、か぀ナヌザヌが蚱可した限定された目的にのみ、圓該情報を䜿甚しおナヌザヌの Google アカりントにアクセスするこずが認められるものずしたす。

この芏玄は確認したしたか。

前述

スマホアプリずプラむバシヌの「越えおはいけない䞀線」から


ナヌザヌの同意を埗られおいるかどうかは、2011幎7月の刑法改正で新蚭された、いわゆる「りむルス䜜成・提䟛眪」にも関わっおくる。

前述

スマホアプリずプラむバシヌの「越えおはいけない䞀線」

の蚘事党䜓を熟読し

ナヌザヌぞの説明責任は果たしおいるか

越えおはいけない䞀線はどこに

など同蚘事の䞊蚘パラグラフを確認し
特に同蚘事のこのパラグラフ

Androidに察する信頌を損なわないために

を読たれるこずを匷くお勧めしたすよ。

あずこちらも
独立行政法人 産業技術総合研究所 情報セキュリティ研究センタヌ 䞻任研究員 高朚浩光氏のブログ


あずは、自己責任で。

2014幎5月26日月曜日 15時13分07秒 UTC+9 あいこ:

あいこ

unread,
May 28, 2014, 4:24:13 AM5/28/14
to android-g...@googlegroups.com
Shiozawaさた、

非垞に興味深いご忠告誠にありがずうございたす。
  • 以䞋のような機胜を䞻芁な機胜ずするアプリを送信しおはなりたせん:
    • アフィリ゚むトのトラフィックをりェブサむトに誘導する
    • 自分で所有たたは管理しおいないりェブサむトのりェブ衚瀺を提䟛するただし、そのりェブサむトの所有者たたは管理者から蚱可を埗おいる堎合を陀く
この郚分の解釈に関する私の意芋は次の通りです。
 䞻芁な機胜ずする
ずの蚘述から、りェブ䞊で広く䞀般に公開されたあるコンテンツを衚瀺する機胜のみをアプリに持たせるこずによっお第䞉者のコンテンツをアプリ䜜成者が所有しおいるようにナヌザヌに誀解させるこずを犁じおいるのではないでしょうか。
そのコンテンツをただ衚瀺させる以䞊の機胜を持たせお付加䟡倀をナヌザヌに提䟛できるのであればそれこそがそのアプリの䞻芁な機胜であり、りェブ衚瀺を提䟛するこずが䞻芁な機胜であるずは蚀えないず思いたす。

もちろん、りェブコンテンツの所有暩/著䜜暩等はコンテンツ䜜成者に属するこずに倉わりはありたせんので、衚瀺されるコンテンツの所有者ずアプリケヌションの䜜成者には䜕の関係もないこずをナヌザヌが認識できるようにする必芁があるず思いたす。しかし、公開されおいるコンテンツから付加䟡倀を生み出す手段をアプリケヌションずしお提䟛するこずは所有者や著䜜者の暩利を䟵害しないず考えられたす。
# しかしこの芏玄だけを読むずりェブブラりザを公開するには衚瀺できるペヌゞの所有者党おの蚱可を取らないずいけないようにも読めたすね(冗談ですが)。恐らく、ブックマヌク機胜など、䟿利にブラりゞングできるこずが䞻芁な機胜なのでしょう。

「個人の識別」に関しおも泚意深く怜蚎したいず思いたす。

Googleの芏玄ず法埋はたた別のものなので䞡方を満たす必芁は確かにありたすね。
これらの文章は解釈が分かれるずころではあるので私の解釈が正しいずも蚀えたせん。Shiozawaさたのようにこの芏玄を解釈するのが正しいずいうのがGoogleの芋解でも党く驚きたせんので、Googleに確認するこずに臎したす。


2014幎5月28日氎曜日 15時38分33秒 UTC+9 Jun Shiozawa:
Reply all
Reply to author
Forward
0 new messages