爬虫技术 -- 基础学习(一)HTML规范化(附特殊字符编码表)
最近在做网页信息提取这方面的,由于没接触过这系列的知识点,所以逛博客,看文档~~看着finallyly大神的博文和文档,边看边学习边总结~~
- 对网站页面进行信息提取,需要进行页面解析,解析的方法有以下几种:
1、利用HTML标记的分布规律进行解析
2、利用HTML标记间的关系进行解析
3、利用页面的视觉特征进行解析
需要人工不断地总结调整规则,需要的规则往往比较多,一条规则的加入会对已经成功解析的网页产生影响。因此,保持规则集的一致性是一大难点。
4、利用TABLE标记的布局特性进行解析。比较常用。
- 在对网页进行解析之前,需要对网页进行规范化处理。也就是,把HTML文档转换为XML文档。
对HTML文档的整理主要是以下4个方面:
(1)在除了网页标记tag外的其他地方出现“<”和“>”用<和>替换
(2)所有标记的属性值放到引号中,如:<a href="http://www.baidu.com">
(3)所有的标记都是匹配的。如:<div>…</div>
(4)所有的标记都是正确嵌套的。
HTML规范化工具 -- HtmlParser
HTML规范化的好处
规范化的Html代码对一个网站有诸多好处,比如:改版方便、代码容易维护、代码量小、网站打开速度快、适合更多人群阅读等,这里就不一一列举。单从seo优化的角度看,规范化的Html代码更有利用搜索引擎排名。但是很多站长却没有认识到这一点,影响网站在搜索引擎上的排名。
关于XHTML的一些知识点
- 给网页添加DOCTYPE
什么是DOCTYPE?
DOCTYPE是Document Type的简写,明白什么是DOCTYPE了吧!DOCTYPE就是文档类型,用来说明你的HTML或XHTML是什么版本,浏览器会根据您DOCTYPE中定义的DTD(Document Type Definition)来解释页面代码,可想而知,错误的DOCTYPE会出现什么结果。
XHTML1.0为我们提供了三种DOCTYPE:
1 . 过渡型(Transitional)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 . 严格型(Strict)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 . 框架型(Frameset)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
过渡型兼容表格、标识等,对于初学者来说,选择过渡型就可以啦!
- 设定一个名字空间
在DOCTYPE后面添加如下代码即可:
<html xmlns="http://www.w3.org/1999/xhtml">
Xmlns是XHTML namespace的简写,叫做“名字空间”,通常我们的网页只有<html>,这里为什么会出现xmlns呢?名字空间就是给文档做一个标识,说明这个文档规范是属于谁的。明白了吗?不明白就Pass。
- 声明语言编码
简体中文网站可定义为:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
英文网站可定义为:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <Head></Head>之间的其他设置
1 . 收藏夹小图标
制作一个16*16的ico图标,命名为favicon.ico,放到网站根目录下,然后把下面的代码放到<Head></Head>之间即可。
<link rel="icon" href="/favicon.ico" type="image/x-icon"/>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
2 . 作者与版权信息
<meta name="author" content="hxstream "/>
<meta name="copyright" content="www.cnblogs.com,版权所有"/>
3 . 站点介绍
<meta name="description" content="简介" />
4 . 站点关键词
<meta content="搜索引擎优化,seo" name="keywords"/>
- 关闭所有的标签
打开的标签必须关闭,例如<p>www.seo168.com</p>,当然还有一种关闭方式,如:<br/>
- 属性值用“”括起来
例如:<img height= "80 "……/>
- 给所有的属性赋值
不正确的写法:<input …… checked/>
正确的写法为:<input …… checked= "checked"/>
- 所有的XHTML元素及其属性名称用小写
XHTML是大小写敏感的
错误的写法为:<TITLE>www.seo168.com</TITLE>
标准的写法为:<title>www.seo168.com</title>
- 标签要合理嵌套
不正确的写法:<div><h1>www.seo168.com</div></h1>
正确的写法为:<div><h1>www.seo168.com</h1></div>
- 特殊字符用编码标识
如 " <" 用 "<"表示," >" 用 ">"表示。
- 为图片增加alt属性
alt属性指定了当图片不能显示的时候就显示供替换文本。
如:<img src="images/logo.gif" alt="seo168为您服务"/>
- 用结构化的元素输出内容
例如:你想输入三行文本,可以用:
www.seo168.com<br/>www.seo168.com<br/>www.seo168.com
我建议用下面的方式代替上面的方式:
<ul>
<li>www.seo168.com</li>
<li>www.seo168.com</li>
<li>www.seo168.com</li>
</ul>
附录一:相关链接
附录二:特殊字符编码表
字符 | 十进制 | 字符编号 | 实体名字 |
--- | Unuse | ||
Space | --- | 空格键 | |
! | ! | --- | 惊叹号Exclamation mark |
" | " ; | " | 双引号Quotation mark |
# | # | --- | 数字标志Number sign |
$ | $ | --- | 美元标志Dollar sign |
% | % | --- | 百分号Percent sign |
& | & | & | Ampersand |
' | ' | --- | 单引号Apostrophe |
( | ( | --- | 小括号左边部分Left parenthesis |
) | ) | --- | 小括号右边部分Right parenthesis |
* | * | --- | 星号Asterisk |
+ | + | --- | 加号Plus sign |
, | , | --- | 逗号Comma |
- | - | --- | 连字号Hyphen |
. | . | --- | 句号Period (fullstop) |
/ | / | --- | 斜杠Solidus (slash) |
0 | 0 | --- | 数字0 Digit 0 |
1 | 1 | --- | 数字1 Digit 1 |
2 | 2 | --- | 数字2 Digit 2 |
3 | 3 | --- | 数字3 Digit 3 |
4 | 4 | --- | 数字4 Digit 4 |
5 | 5 | --- | 数字5 Digit 5 |
6 | 6 | --- | 数字6 Digit 6 |
7 | 7 | --- | 数字7 Digit 7 |
8 | 8 | --- | 数字8 Digit 8 |
9 | 9 | --- | 数字9 Digit 9 |
: | : | --- | 冒号Colon |
; | ; | --- | 分号Semicolon |
< | < | < | 小于号Less than |
= | = | --- | 等于符号Equals sign |
> | > | > | 大于号Greater than |
? | ? | --- | 问号Question mark |
@ | @ | --- | Commercial at |
A | A | --- | 大写A Capital A |
B | B | --- | 大写B Capital B |
C | C ; | --- | 大写C Capital C |
D | D | --- | 大写D Capital D |
E | E | --- | 大写E Capital E |
F | F | --- | 大写F Capital F |
G | G | --- | 大写G Capital G |
H | H | --- | 大写H Capital H |
I | I | --- | 大写J Capital I |
J | J | --- | 大写K Capital J |
K | K | --- | 大写L Capital K |
L | L | --- | 大写K Capital L |
M | M | --- | 大写M Capital M |
N | N | --- | 大写N Capital N |
O | O | --- | 大写O Capital O |
P | P | --- | 大写P Capital P |
Q | Q | --- | 大写Q Capital Q |
R | R | --- | 大写R Capital R |
S | S | --- | 大写S Capital S |
T | T | --- | 大写T Capital T |
U | U ; | --- | 大写U Capital U |
V | V | --- | 大写V Capital V |
W | W | --- | 大写W Capital W |
X | X ; | --- | 大写X Capital X |
Y | Y | --- | 大写Y Capital Y |
Z | Z | --- | 大写Z Capital Z |
[ | [ | --- | 中括号左边部分Left square bracket |
\ | \ | --- | 反斜杠Reverse solidus (backslash ) |
] | ] | --- | 中括号右边部分Right square bracket |
^ | ^ ; | --- | Caret |
_ | _ | --- | 下划线H orizontal bar (underscore) |
` | ` | --- | 尖重音符Acute accent |
a | a ; | --- | 小写a Small a |
b | b | --- | 小写b Small b |
c | c | --- | 小写c Small c |
d | d | --- | 小写d Small d |
e | e | --- | 小写e Small e |
f | f | --- | 小写f Small f |
g | g | --- | 小写g Small g |
h | h | --- | 小写h Small h |
i | i | --- | 小写i Small i |
j | j | --- | 小写j Small j |
k | k | --- | 小写k Small k |
l | l | --- | 小写l Small l |
m | m | --- | 小写m Small m |
n | n | --- | 小写n Small n |
o | o | --- | 小写o Small o |
p | p ; | --- | 小写p Small p |
q | q ; | --- | 小写q Small q |
r | r | --- | 小写r Small r |
s | s | --- | 小写s Small s |
t | t | --- | 小写t Small t |
u | u ; | --- | 小写u Small u |
v | v | --- | 小写v Small v |
w | w | --- | 小写w Small w |
x | x | --- | 小写x Small x |
y | y | --- | 小写y Small y |
z | z | --- | 小写z Small z |
{ | { | --- | 大括号左边部分Left curly brace |
| | | | --- | 竖线Vertical bar |
} | } | --- | 大括号右边部分Right curly brace |
~ | ~ | --- | Tilde |
--- | | --- | 未使用Unused |
| 空格Nonbreaking space | ||
¡ | ¡ | ¡ | Inverted exclamation |
¢ | ¢ | ¢ | 货币分标志Cent sign |
£ | £ | £ | 英镑标志Pound sterling |
¤ | ¤ | ¤ ; | 通用货币标志General currency sign |
¥ | ¥ | ¥ | 日元标志Yen sign |
¦ | ¦ | ¦ or &brkbar; | 断竖线Broken vertical bar |
§ | § | § | 分节号Section sign |
¨ | ¨ | ¨ ; or ¨ | 变音符号Umlaut |
© | © | © ; | 版权标志Copyright |
ª | ª | ª ; | Feminine ordinal |
« | « | « | Left angle quote, guillemet left |
¬ | ¬ | ¬ | Not sign |
| | ­ | Soft hyphen |
® | ® | ® | 注册商标标志Registered trademark |
¯ | ¯ | ¯ or &hibar ; | 长音符号Macron accent |
° | ° | ° ; | 度数标志Degree sign |
± | ± | ± ; | 加或减Plus or minus |
² | ² | ² | 上标2 Superscript two |
³ | ³ | ³ ; | 上标3 Superscript three |
´ | ´ | ´ | 尖重音符Acute accent |
µ | µ | µ | Micro sign |
¶ | ¶ | ¶ | Paragraph sign |
· | · | · | Middle dot |
¸ | ¸ | ¸ ; | Cedilla |
¹ | ¹ | ¹ | 上标1 Superscript one |
º | º | º | Masculine ordinal |
» | » ; | » ; | Right angle quote, guillemet right |
¼ | ¼ | ¼ ; | 四分之一Fraction one-fourth |
½ | ½ | ½ | 二分之一Fraction one-half |
¾ | ¾ | ¾ | 四分之三Fraction three-fourths |
¿ | ¿ | ¿ | Inverted question mark |
À | À ; | À ; | Capital A, grave accent |
Á | Á | Á | Capital A , acute accent |
 |  |  | Capital A , circumflex |
à | à | à | Capital A, tilde |
Ä | Ä ; | Ä | Capital A, di?esis / umlaut |
Å | Å | Å | Capital A, ring |
Æ | Æ | Æ | Capital AE ligature |
Ç | Ç | Ç | Capital C, cedilla |
È | È | È | Capital E, grave accent |
É | É ; | É | Capital E, acute accent |
Ê | Ê | Ê ; | Capital E, circumflex |
Ë | Ë | Ë | Capital E, di?esis / umlaut |
Ì | Ì | Ì | Capital I, grave accent |
Í | Í | Í ; | Capital I, acute accent |
Î | Î | Î ; | Capital I, circumflex |
Ï | Ï ; | Ï | Capital I , di?esis / umlaut |
Ð | Ð | Ð | Capital Eth, Icel andic |
Ñ | Ñ ; | Ñ | Capital N , tilde |
Ò | Ò | Ò | Capital O, grave accent |
Ó | Ó ; | Ó | Capital O , acute accent |
Ô | Ô | Ô | Capital O, circumflex |
Õ | Õ | Õ | Capital O, tilde |
Ö | Ö | Ö | Capital O, di?esis / umlaut |
× | × | × | 乘号Multiply sign |
Ø | Ø | Ø | Capital O, slash |
Ù | Ù | Ù | Capital U, grave accent |
Ú | Ú | Ú | Capital U, acute accent |
Û | Û | Û | Capital U, circumflex |
Ü | Ü | Ü | Capital U, di?esis / umlaut |
Ý | Ý | Ý ; | Capital Y, acute accent |
Þ | Þ | &TH ORN ; | Capital Thorn, Icel andic |
ß | ß | ß ; | Small sharp s, German sz |
à | à | à ; | Small a, grave accent |
á | á | á | Small a, acute accent |
â | â | â | Small a, circumflex |
ã | ã | ã | Small a, tilde |
ä | ä | ä | Small a , di?esis / umlaut |
å | å | å | Small a, ring |
æ | æ | æ | Small ae ligature |
ç | ç | ç | Small c, cedilla |
è | è ; | è | Small e, grave accent |
é | é ; | é | Small e, acute accent |
ê | ê | ê | Small e, circumflex |
ë | ë | ë | Small e, di?esis / umlaut |
ì | ì | ì | Small i, grave accent |
í | í | í | Small i, acute accent |
î | î | î ; | Small i, circumflex |
ï | ï | ï | Small i, di?esis / umlaut |
ð | ð | ð | Small eth, Icelandic |
ñ | ñ | ñ | Small n, tilde |
ò | ò | ò | Small o, grave accent |
ó | ó ; | ó | Small o, acute accent |
ô | ô ; | ô | Small o, circumflex |
õ | õ | õ | Small o , tilde |
ö | ö | ö | Small o, di?esis / umlaut |
÷ | ÷ | ÷ | 除号Division sign |
ø | ø | ø | Small o, slash |
ù | ù | ù | Small u, grave accent |
ú | ú | ú | Small u, acute accent |
û | û | û | Small u, circumflex |
ü | ü | ü ; | Small u, di?esis / umlaut |
ý | ý | ý ; | Small y, acute accent |
þ | þ | þ | Small thorn, Icelandic |
ÿ | ÿ | ÿ | Small y, umlaut |