[問題] 一個抓資料的問題

看板Python作者 (阿川)時間14年前 (2011/11/01 00:01), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串1/4 (看更多)
我現正在抓一個網頁上的資料 http://service.moj.gov.tw/lawer/associList.asp?associName=%A5x%ABn%AB%DF%AEv%A4%BD%B7| 網頁有大量像這樣的原始碼 <td width='16%'><font size='4' face='標楷體' color='#000080'> <a href='data1.asp' onclick="javascript:event.returnValue=false;frmlist.name.value='尤挹華 ';frmlist.no.value='(81)臺檢證字第1951號 ';frmlist.foreigner.value='';frmlist.action=this.href;frmlist.submit();"'>尤挹 華</a></font> </td> 我的目標是把其中的「(81)臺檢證字第1951號」給抓出來 本以為用re會輕鬆解決 卻怎麼抓都是亂碼 我的code如下 tags = BeautifulSoup(page).findAll('a') #page為網頁的source code for tag in tags: number = re.search("frmlist.no.value='(.+)';frmlist.foreigner.value", str(tag)).group(1) print number 在cmd下看到的都是亂碼 無論用big5 utf-8 cp950去對number做decode或是encode都沒用 想請問怎麼會這樣呢? 是因為re無法處理中文嗎? 煩請大大們解惑 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.27.129

11/01 00:19, , 1F
先說你是在哪個系統做吧? windows or linux
11/01 00:19, 1F

11/01 00:26, , 2F
推樓上XD
11/01 00:26, 2F

11/01 02:21, , 3F
應該是windows吧,cmd下unicode會是亂碼沒錯
11/01 02:21, 3F
不好意思忘記講 我是用windows XP python 2.5

11/01 03:47, , 4F
我猜是text editor的關係
11/01 03:47, 4F
我是用notepad++ 請問text editor如何影響這部份呢?

11/01 10:40, , 5F
先encode成latin再decode成cp950試試看
11/01 10:40, 5F
不行耶 用latin去encode會失敗 ※ 編輯: poopoo888888 來自: 218.166.198.127 (11/01 19:24)

11/01 21:57, , 6F
我用WINDOW7 Python2.5.4 urllib2 在cmd下正常 idle下亂碼
11/01 21:57, 6F

11/01 21:58, , 7F
可是decode("big5","ignore") 就可以了 你要不要試試?
11/01 21:58, 7F

11/01 22:10, , 8F
再問一下 是只要是中文都亂碼??
11/01 22:10, 8F
很謝謝你 但出來還是亂碼耶 只有抓這個網頁是亂碼 其他地方的中文都沒問題 ※ 編輯: poopoo888888 來自: 61.231.27.37 (11/02 19:10)

11/03 05:00, , 9F
source code貼出來,你的環境寫清楚,有時間的話幫你試..
11/03 05:00, 9F

11/03 10:21, , 10F
latin -> 是latin1吧
11/03 10:21, 10F
文章代碼(AID): #1EhiPi9c (Python)
文章代碼(AID): #1EhiPi9c (Python)