爬虫技术 -- 基础学习(一)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="data: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 |
爬虫技术 -- 基础学习(一)HTML规范化(附特殊字符编码表)的更多相关文章
- 爬虫技术 -- 基础学习(四)HtmlParser基本认识
利用爬虫技术获取网页源代码后,针对网页抽取出它的特定文本内容,利用正则表达式和抽取工具,能够更好地抽取这些内容. 下面介绍一种抽取工具 -- HtmlParser HtmlParser是一个用来解析H ...
- 爬虫技术 -- 基础学习(五)解决页面编码识别(附c#代码)
实现从Web网页提取文本之前,首先要识别网页的编码,有时候还需要进一步识别网页所使用的语言.因为同一种编码可能对应多种语言,例如UTF-8编码可能对应英文或中文等语言. 识别编码整体流程如下: (1) ...
- 爬虫技术 -- 基础学习(三)理解URL和URI的联系与区别
网络爬虫的基本操作是抓取网页.首先要了解下URL~~ 在理解URL之前,先了解下URI,这两个概念我曾经混淆过~@_@|| 什么是URI? Web上每种可用的资源,如:html文档.视频,图片等都由一 ...
- 爬虫技术 -- 进阶学习(七)简单爬虫抓取示例(附c#代码)
这是我的第一个爬虫代码...算是一份测试版的代码.大牛大神别喷... 通过给定一个初始的地址startPiont然后对网页进行捕捉,然后通过正则表达式对网址进行匹配. List<string&g ...
- 爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
由于最近在做毕业设计,需要用到一些简单的浏览器功能,于是学习了一下,顺便写篇博客~~大牛请勿喷,菜鸟练练手~ 实现界面如下:(简单朴素版@_@||) button_go实现如下: private vo ...
- 爬虫技术 -- 进阶学习(九)使用HtmlAgilityPack获取页面链接(附c#代码及插件下载)
菜鸟HtmlAgilityPack初体验...弱弱的代码... Html Agility Pack是一个开源项目,为网页提供了标准的DOM API和XPath导航.使用WebBrowser和HttpW ...
- 爬虫技术 -- 进阶学习(十)网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)
最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/Scrapy ...
- 爬虫技术 -- 进阶学习(十一)【补充】获取html中meta标签中的content的内容
上一篇网易新闻页面信息抓取 -- htmlagilitypack搭配scrapysharp中提及了很多如何快速抓取html中的文本的语句, 但是meta标签中的content内容的抓取,没有提及到! ...
- android 网络技术基础学习 (七)
使用httpclient协议访问网络: public class MainActivity extends Activity implements OnClickListener{ public vo ...
随机推荐
- 更改Linux默认栈空间的大小
有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误.这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小 ...
- 更改Windows系统的密码之后,SQL Server 2008服务无法启动
问题:更改Windows操作系统的密码之后,SQL Server 2008服务无法启动. 原因:SQL Server服务需要使用操作系统的某个登录账户. 解决:需要在服务的属性窗口中修改账户密码,然后 ...
- WebView上实现Java与JavaScript交互
在安卓开发上,考虑到开发效率和界面更新,有时使用WebView结合web页面技术,可以快速迭代地开发移动应用.WebView加载资源的速度并不慢,但是如果资源多了,就很慢.图片.css.js.html ...
- Java Socket网络编程常见异常(转)
1.java.net.SocketTimeoutException 这个异常比较常见,socket超时.一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(Socket ...
- C# 动态修改dll的签名 以及修改引用该dll文件的签名
在读取RedisSessionStateProvider配置 提到用mono ceil 来修改程序集以及它的签名,里面GetPublicKey 和GetPubliKeyToken 方法里面那个字符串的 ...
- RecyclerView的使用
什么是RecyclerView RecyclerView是Android 5.0 materials design中的组件之一,相应的还有CardView.Palette等.看名字我们 ...
- 专访高磊:安卓APK安全加固的引领者
高磊,爱加密CEO,安卓巴士版主之一,曾编写河南省某地市交通信息化规划十二五规划,以及参与省厅级资源共享平台设计等.之前的工作经理积累了丰富的设计规划经验,此外还具有J2EE和 Android开发经验 ...
- linux部署war包方案
batch.sh内容: su - -c" 使用管理员权限 service tomcat6 stop; 停止tomca6t服务 mkdir /home/jnfwzFtp/bushubackup ...
- C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]
文章摘要: 1. 通过简单DEMO.让读者理解Task和Task<T> 学习过程中,掌握async和await 2. 理解同步和异步的执行 3. Task.Factory.Start ...
- navicat 链接linux 服务器上的数据库