文章出處

#encoding=gb2312
import urllib
import re

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r'<strong>(.*)</strong>'
    imgre = re.compile(reg)
    imglist = re.findall(imgre, html)
    return imglist


html = getHtml('http://yjs.teacher.com.cn/dsjyss/jswk11104/info/kcjjx.htm')
imglist = getImg(html)
print html #這樣輸出一堆Unicode碼 print imglist[0] #for img in imglist: # print img

 以上是我學習Python爬蟲的一個簡單的例子,我修改網上流傳的下載百度圖片的例子,用來抓取一些網絡課程的課程名稱

但是我發現一個有意思的問題,如上圖代碼

如果直接是print正則之后的html則會得到

['\xe7\xbd\x91\xe7\xbb\x9c\xe6\x8a\x80\xe6\x9c\xaf\xe4\xb8\x8e\xe5\xa4\x9a\xe5\xaa\x92\xe4\xbd\x93\xe6\x8a\x80\xe6\x9c\xaf', 'Network Technology and Multimedia  Technology', '1. \xe7\x9f\xa5\xe8\xaf\x86\xe4\xb8\x8e\xe6\x8a\x80\xe8\x83\xbd', '2. \xe8\xbf\x87\xe7\xa8\x8b\xe4\xb8\x8e\xe6\x96\xb9\xe6\xb3\x95', '3. \xe6\x83\x85\xe6\x84\x9f\xe6\x80\x81\xe5\xba\xa6\xe4\xb8\x8e\xe4\xbb\xb7\xe5\x80\xbc\xe8\xa7\x82', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xb8\x80\xef\xbc\x9a\xe5\xa4\x9a\xe5\xaa\x92\xe4\xbd\x93\xe6\x8a\x80\xe6\x9c\xaf1', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xba\x8c\xef\xbc\x9a\xe5\xa4\x9a\xe5\xaa\x92\xe4\xbd\x93\xe8\xaf\xbe\xe4\xbb\xb6\xe8\xae\xbe\xe8\xae\xa1', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xb8\x89\xef\xbc\x9a\xe5\xa4\x9a\xe5\xaa\x92\xe4\xbd\x93\xe8\xaf\xbe\xe4\xbb\xb6\xe5\xbc\x80\xe5\x8f\x91', '\xe4\xb8\x93\xe9\xa2\x98\xe5\x9b\x9b\xef\xbc\x9a \xe7\xbd\x91\xe7\xbb\x9c\xe8\xaf\xbe\xe7\xa8\x8b\xe8\xae\xbe\xe8\xae\xa1', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xba\x94\xef\xbc\x9a\xe7\xbd\x91\xe7\xbb\x9c\xe8\xaf\xbe\xe7\xa8\x8b\xe5\xbc\x80\xe5\x8f\x91', '\xe4\xb8\x93\xe9\xa2\x98\xe5\x85\xad\xef\xbc\x9a\xe5\xa4\x9a\xe5\xaa\x92\xe4\xbd\x93\xe6\x8a\x80\xe6\x9c\xaf2', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xb8\x83\xef\xbc\x9a\xe6\xa0\xa1\xe5\x9b\xad\xe5\xb1\x80\xe5\x9f\x9f\xe7\xbd\x91\xe7\x9a\x84\xe6\x9e\x84\xe5\xbb\xba', '\xe4\xb8\x93\xe9\xa2\x98\xe5\x85\xab\xef\xbc\x9a\xe7\xbd\x91\xe7\xbb\x9c\xe6\x9c\x8d\xe5\x8a\xa1\xe5\x99\xa8\xe9\x85\x8d\xe7\xbd\xae\xe4\xb8\x8e\xe7\xae\xa1\xe7\x90\x86', '\xe4\xb8\x93\xe9\xa2\x98\xe4\xb9\x9d\xef\xbc\x9a\xe7\xbd\x91\xe7\xbb\x9c\xe8\xae\xbe\xe5\xa4\x87\xe4\xba\x92\xe8\xbf\x9e', '\xe4\xb8\x93\xe9\xa2\x98\xe5\x8d\x81\xef\xbc\x9a\xe7\xbd\x91\xe7\xbb\x9c\xe5\xae\x89\xe5\x85\xa8']

 如果是用遍歷的方法或者print imglist[0]則會輸出中文

這可是困擾了我一天的問題,到現在都沒有結果,這是為什么呢?

為什么直接打印html輸出的不是漢子呢,真是奇怪啊


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()