iT邦幫忙

DAY 6
16

我愛吃蘋果系列 第 6

 [iPhone程式設計 之 iT邦幫忙 App] 分析iT邦幫忙首頁HTML 

謝謝小財神把iT邦幫忙的網頁寫的非常整齊,讓我很容易地就能取得我要的資料!
設定好HTML parser後,再來就是在程式中取得iT邦幫忙首頁的HTML後,取得我想要的問答列表。問答列表的HTML源如碼如下:

<div class="hp_box">
<a href="/profile?id=20001913"><img src="/avatars/20001913.jpg" border="0"></a><ul><li class="subTitle">[置頂] <a href="/question/10053517?tag=hp.all">[有話大聲說]天賦異秉在哪裡?</a><li class="user">由 <a href="/profile?id=20001913">cafequeen</a> 於3天前分享</ul>
<div class="opinionPoint"><img src="/images/icon_discuss.gif" title="討論" />13</div>
</div>

<div class="hp_box">
<a href="/profile?id=20001837">
<img src="/avatars/20001837.jpg" border="0"></a>
<ul>
<li class="subTitle">[置頂] <a href="/question/10051471?tag=hp.all">小財神鐵人賽場邊報導匯整第17彈-深入DOS箇中三昧的alexc</a>
<li class="user">由 <a href="/profile?id=20001837">fortune</a> 於13天前分享
</ul>
<div class="opinionPoint"><img src="/images/icon_discuss.gif" title="討論" />5</div>
</div>

你可以發現15條的「所有問答」都被包在

這個div tag裡,然後都有附上class,這樣一來,我們就可以使用標準 XPath 的語法,來取得我要的資料!

取得標題的種類(置頂, 發問, 分享...)

//div[@class='hp_box']//li[@class='subTitle']

取得標題

//div[@class='hp_box']//li[@class='subTitle']//a

取得作者

//div[@class='hp_box']//li[@class='user']//a

取得時間說明

//div[@class='hp_box']//li[@class='user']

程式中取得這些HTML elements後,再來一個個提取裡面的內文和屬性(例如大頭照的URL)。

資料有了,再來就是該怎麼顯示在iPhone的畫面上了~


上一篇
 [iPhone程式設計 之 iT邦幫忙 App] 成功的第一步 
下一篇
 [iPhone程式設計 之 iT邦幫忙 App] 把iT邦幫忙首頁HTML讀入程式裡 
系列文
我愛吃蘋果30

2 則留言

0
SunAllen
iT邦高手 1 級 ‧ 2010-10-17 13:26:33

沙發

筆記筆記比較想看大富翁的毆飛

大富翁的我監看過, 但因為它是flash, 我只看到request的payload, 沒看到respose, 需要再來研究研究. 我也想把大富翁改iPhone版啊! 這樣就可以隨時隨地玩了!

0
caana
iT邦新手 5 級 ‧ 2010-10-28 16:36:41

取得作者 跟 取得時間說明
的code是一樣的,所以不用分開寫吧

不一樣啊 , 作者的多了個 //a
HTML碼是這樣的

&lt;pre class="c" name="code">
&lt;li class="user">由 &lt;a href="/profile?id=20001913">cafequeen&lt;/a> 於2天前分享

作者是在在<li>下的<a> tag裡的content,裡面還有作者資料的url
而時間是在<li> tag裡的content

我要留言

立即登入留言