3

現在、当サイトに掲載されている記事がいくつかあります。次のタイプの html で表示できます。

<p>this is an article<br>
<img src="someimage">
</p>

<p>this is an article<br>
<img src="someimage">
</p>

<p>this is an article<br>
<img src="someimage">
</p>

<p>this is an article<br>
<img src="someimage">
</p>

また

<p><img src="someimage">
this is an article<br>
</p>
<p>this is an article<br>
<img src="someimage">
</p>
<p><img src="someimage">
this is an article<br>
</p>

他のいくつかの html タグがこの中にある場合があります。これを実現するために、coldfusion を使用してページをスクレイピングする方法がわかりません。

基本的に私がする必要があるのは、最初の段落のテキストと画像をつかみ、それを配置できるようにすることです。

これは Coldfusion 8 を使用して可能ですか? これを学ぶ方法を教えてくれる人はいますか?

4

1 に答える 1

8

100%間違いなく可能です!

さて、私が提案しようとしていることに先延ばしにしないでください。これを実行するのは実際には非常に簡単です。

jSoup と呼ばれるライブラリをダウンロードします。これは、Web ページの DOM からコンテンツをスクレイピングすることだけを目的としています。

http://jsoup.org/

次に、次のようにして、この Java クラスを使用します。

<!--- Get the page. --->
<cfhttp method="get" url="http://example.com/" resolveurl="true" useragent="#cgi.http_user_agent#" result="myPage" timeout="10" charset="utf-8">
<cfhttpparam type="header" name="Accept-Encoding" value="*" />   
<cfhttpparam type="header" name="TE" value="deflate;q=0" />        
</cfhttp>

<!--- Load up jSoup and parse the document with it. --->
<cfset jsoup = createObject("java", "org.jsoup.Jsoup") />
<cfset document = jsoup.parse(myPage.filecontent) />

<!--- Search the parsed document for the contents of the TITLE tag. --->
<cfset title = document.select("title").first() />

<!--- Let's see what we got. --->
<cfdump var="#title#" />

この例は非常に単純ですが、操作がいかに簡単かを示すことができます。jSoup のドキュメントを参照すれば、画像などのスクレイピングはかなり簡単です。

このページには、 CSSスタイル セレクターを使用できる良い例がいくつかあります。

http://jsoup.org/cookbook/extracting-data/selector-syntax

このタスクに Regex を使用することは避けてください。

お役に立てれば。マイキー。

于 2013-05-03T09:43:07.977 に答える