Python 解析开头的字符串
爬虫的时候,发现网页中好多中文都是用&#开头的一串字符表示,搞不懂是什么编码,直到看到知乎上的一个回答。
引用原作者的话,这一串字符是HTML、XML等SGML类语言的转义序列,不是编码。而以&#
开头的叫numeric character reference(NCR),&#
后面可以跟十进制数字或是以x
开头的16进制数字,数字为目标字符的Unicode code point,并以;
结束。具体的解释可以看原答案或是自行搜索。
Python 中处理这种转义序列也很简单,直接使用标准库中的HTMLParser解析即可:
1 | from HTMLParser import HTMLParser |