Google Appsスクリプトを使用して、HTML
という非常に構造の悪いウェブサイトからデータを抜き取る必要があります。XmlService.parse()
は解析できません。Google Apps Scriptでは、検証されないほどひどく構造化されたHTMLを解析する方法はありますか?
"ドキュメント"の外観は次のとおりです。私は多くの行を取り除きましたが、構造を保持しています。
<html>
<head>
<link href="css/bootstrap.min.css" rel="stylesheet">
<title> Funny Site </title>
</head>
<body>
<!DOCTYPE html>
<html>
<title> Funny Site</title>
<head>
<meta charset="utf-8">
</head>
<body>
<div class="mainhead">
<div class="leftHead">
</div>
<script>
$(document).ready(function(){
//$(".overlay").show();
});
</script>
<div class="contain">
<div class="maine">
</div>
<div class="maine2">
<div class="footer1">
<div class="footer2">
<div class="data">
<div class="dc">
<div class="smalltxt">Field1</div>
<div class="largetxt">value1</div>
</div>
<div class="dc">
<div class="smalltxt">Field2</div>
<div class="largetxt">value2</div>
</div>
<div class="dc">
<div class="smalltxt">Field3</div>
<div class="largetxt adjFont" id ="someId">value3</div>
</div>
<div class="dc" >
<div class="smalltxt">Field4</div>
<div class="largetxt adjFont">value4</div>
</div>
<div class="dc" style="border:none;">
<div class="smalltxt">Field5</div>
<div class="largetxt">value5</div>
</div>
</div>
</div>
</body>
</html>
私がつかむしたいデータは、クラスdata
とdiv
にvalue5
てvalue1
です。
少なくともdata
クラスを取得するにはどうすればよいですか?私が思いつくことができるのは正規表現を適用することだけですが、それよりも良い方法がありますか?
正規表現でチュートリアルやテスターをチェックアウトすることができます。 XmlServiceで解析するのに十分な、ドキュメントの一部を抽出するハイブリッドアプローチがあります。 –