#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则会得到
['xe7xbdx91xe7xbbx9cxe6x8ax80xe6x9cxafxe4xb8x8exe5xa4x9axe5xaax92xe4xbdx93xe6x8ax80xe6x9cxaf', 'Network Technology and Multimedia Technology', '1. xe7x9fxa5xe8xafx86xe4xb8x8exe6x8ax80xe8x83xbd', '2. xe8xbfx87xe7xa8x8bxe4xb8x8exe6x96xb9xe6xb3x95', '3. xe6x83x85xe6x84x9fxe6x80x81xe5xbaxa6xe4xb8x8exe4xbbxb7xe5x80xbcxe8xa7x82', 'xe4xb8x93xe9xa2x98xe4xb8x80xefxbcx9axe5xa4x9axe5xaax92xe4xbdx93xe6x8ax80xe6x9cxaf1', 'xe4xb8x93xe9xa2x98xe4xbax8cxefxbcx9axe5xa4x9axe5xaax92xe4xbdx93xe8xafxbexe4xbbxb6xe8xaexbexe8xaexa1', 'xe4xb8x93xe9xa2x98xe4xb8x89xefxbcx9axe5xa4x9axe5xaax92xe4xbdx93xe8xafxbexe4xbbxb6xe5xbcx80xe5x8fx91', 'xe4xb8x93xe9xa2x98xe5x9bx9bxefxbcx9a xe7xbdx91xe7xbbx9cxe8xafxbexe7xa8x8bxe8xaexbexe8xaexa1', 'xe4xb8x93xe9xa2x98xe4xbax94xefxbcx9axe7xbdx91xe7xbbx9cxe8xafxbexe7xa8x8bxe5xbcx80xe5x8fx91', 'xe4xb8x93xe9xa2x98xe5x85xadxefxbcx9axe5xa4x9axe5xaax92xe4xbdx93xe6x8ax80xe6x9cxaf2', 'xe4xb8x93xe9xa2x98xe4xb8x83xefxbcx9axe6xa0xa1xe5x9bxadxe5xb1x80xe5x9fx9fxe7xbdx91xe7x9ax84xe6x9ex84xe5xbbxba', 'xe4xb8x93xe9xa2x98xe5x85xabxefxbcx9axe7xbdx91xe7xbbx9cxe6x9cx8dxe5x8axa1xe5x99xa8xe9x85x8dxe7xbdxaexe4xb8x8exe7xaexa1xe7x90x86', 'xe4xb8x93xe9xa2x98xe4xb9x9dxefxbcx9axe7xbdx91xe7xbbx9cxe8xaexbexe5xa4x87xe4xbax92xe8xbfx9e', 'xe4xb8x93xe9xa2x98xe5x8dx81xefxbcx9axe7xbdx91xe7xbbx9cxe5xaex89xe5x85xa8']
如果是用遍历的方法或者print imglist[0]则会输出中文
这可是困扰了我一天的问题,到现在都没有结果,这是为什么呢?
为什么直接打印html输出的不是汉子呢,真是奇怪啊