Python-SyntaxError:Non-ASCII character '\e8' in....
Python SyntaxErrorSyntaxError:Non-ASCII character ‘\e8’ in File…
遇到下面这种提示的错误
修正方法:检查文件头部的UTF-8编码语句是否书写正确
#coding=utf-8
今天下午同事梦鸽遇到一个问题,想直接把要找的一篇网页源代码中的特定的链接找出来,看到她需要每天手动复制粘贴出来然后一点一点删除,这样来找的话,效率也太低了。刚好我最近也刚开始学习python编程,何不写个脚本练练手?
所以就花了一个多小时帮梦鸽童鞋写了一个自动抓取链接的脚本,虽然开始一直头疼不会正则表达式该怎么写,但最终用笨办法:通过用
- 循环
- 条件
- 逻辑
这些基本的运算符,帮她实现了这个功能。
在这个过程中,遇到了最上面的这个错误,排查了半天以为是哪里的标点符号用成了中文字符,最后一想’Non-ASCII’意思就是找不到对应的ASCII码,既然找不到,是不是文件的编码格式错了,才想起来回头去看文件头部的
#coding = utf-8
这句话,我居然写成了
#condind=utf-8
改正确以后就没问题了。
很巧的是,同在一起学习python的QQ群同学,晚上也遇到了同样的问题,毫不犹豫的帮他找到了问题所在,顿时感觉半个多小时拍错过程是值得的。
特记录这篇日记,希望以后不要再出错。
附python源码,抓取网页中CSDN博主的文章链接,并保存到blogID.txt文件中
#coding=utf-8
import re
fp = open('sample.txt')#要打开的文件名
temp = fp.read()
blogID = open('BlogID.txt', 'w') #新建一个文件夹
tmp_list = re.findall(r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')",temp)#检索出页面所有链接
url_list = []
for i in tmp_list:
if ('blogdevteam' not in i) and ('cloumn' not in i) and ('article' in i) and ('http://blog.csdn.net' in i):
if i not in url_list:
url_list.append(i)
#print url_list
#blogID.write(str(url_list))
for url in url_list:
if url in url_list:
print >> blogID , url
blogID.close()
fp.close()