#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输出的不是汉子呢,真是奇怪啊
时间: 2024-12-16 13:39:52