看板 Programming 關於我們 聯絡資訊
※ 引述《liptonbin (wind)》之銘言: : 請問各位高手 : 有沒有辦法抓到特定網頁上的特定數字 : 例如http://tw.bid.yahoo.com/tw/2092073547-category-leaf.html?.r=1186936134 用 python == import urllib2, BeautifulSoup url='http://tw.bid.yahoo.com/tw/2092073547-category-leaf.html?.r=1186936134' htm = urllib2.urlopen(url).read() soup = BeautifulSoup.BeautifulSoup(htm) tabs = soup('table') trs = tabs[2]('tr') for i in range(1, len(trs)) : print trs[i]('td')[0] trs = tabs[3]('tr') for i in range(1, len(trs)) : print trs[i]('td')[0] == output <td><strong>1,720 元</strong><em></em></td> <td><strong>2,499 元</strong><em></em></td> <td><strong>1,999 元</strong><em></em></td> <td><strong>1,580 元</strong><em></em></td> <td><strong>1,400 元</strong><em></em></td> <td><strong>150 元</strong><em></em></td> <td><strong>150 元</strong><em></em></td> <td><strong>300 元</strong><em></em></td> <td><strong>500 元</strong><em></em></td> <td><strong>2,650 元</strong><em></em></td> <td><strong>800 元</strong><em></em></td> <td><strong>900 元</strong><em></em></td> <td><strong>2,350 元</strong><em></em></td> <td><strong>2,600 元</strong><em></em></td> <td><strong>2,150 元</strong><em></em></td> <td><strong>3,200 元</strong><em></em></td> <td><strong>6,501 元</strong><em></em></td> <td><strong>360 元</strong><em></em></td> <td><strong>1,450 元</strong><em></em></td> <td><strong>800 元</strong><em></em></td> <td><strong>150 元</strong><em></em></td> <td><strong>150 元</strong><em></em></td> <td><strong>299 元</strong><em></em></td> <td><strong>299 元</strong><em></em></td> <td><strong>1,199 元</strong><em></em></td> <td><strong>1,500 元</strong><em></em></td> <td><strong>1,199 元</strong><em></em></td> <td><strong>1,250 元</strong><em></em></td> <td><strong>1,550 元</strong><em></em></td> <td><strong>1,450 元</strong><em></em></td> <td><strong>1,800 元</strong><em></em></td> <td><strong>550 元</strong><em></em></td> <td><strong>1,422 元</strong><em></em></td> <td><strong>2 元</strong><em></em></td> <td><strong>750 元</strong><em></em></td> <td><strong>450 元</strong><em></em></td> <td><strong>1,450 元</strong><em></em></td> <td><strong>150 元</strong><em></em></td> <td><strong>1,800 元</strong><em></em></td> <td><strong>99,999 元</strong><em></em></td> <td><strong>99,999 元</strong><em></em></td> <td><strong>4,800 元</strong><em></em></td> <td><strong>750 元</strong><em></em></td> <td><strong>2,200 元</strong><em></em></td> <td><strong>331 元</strong><em></em></td> <td><strong>350 元</strong><em></em></td> <td><strong>900 元</strong><em></em></td> <td><strong>1,600 元</strong><em></em></td> <td><strong>2,200 元</strong><em></em></td> <td><strong>800 元</strong><em></em></td> == BeautifulSoup 是 python 的一個 html parser 支援一定程度的容錯(還沒有到瀏覽器強度,不過已經很好用了) http://www.crummy.com/software/BeautifulSoup/ 到這邊抓 -- To iterate is human, to recurse is divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.32
qrtt1:推 python + BeautifulSoup 218.161.123.28 08/13 21:14
superGA:容錯cool~ 61.229.218.164 08/13 23:07
StubbornLin:我覺得網頁抓取 最麻煩的地方 59.116.65.6 08/13 23:51
StubbornLin:就在於容錯 錯誤百百種= = 59.116.65.6 08/13 23:51
StubbornLin:別人寫好的parser通常沒容錯 59.116.65.6 08/13 23:52
StubbornLin:自己寫又很麻煩 59.116.65.6 08/13 23:52
StubbornLin:寫到後來會抱怨為啥寫程式沒容錯= = 59.116.65.6 08/13 23:55
meltice:有啊 C++常常幫你自動轉型啊 60.245.83.143 08/14 00:34
liptonbin:感謝各位的指導 210.69.149.252 08/14 15:50
superGA:該抱怨的是 為什麼瀏覽器容錯這麼強 61.229.218.164 08/15 15:50
superGA:甚至根本就是錯的也當成對的 61.229.218.164 08/15 15:51