Linux解析HTML:一种快捷的方式(linux解析html)

Linux解析HTML是在Linux应用开发中一项在不需要安装任何库的基础上解析HTML文档的任务。很多时候,应用开发者…

Linux解析HTML是在Linux应用开发中一项在不需要安装任何库的基础上解析HTML文档的任务。很多时候,应用开发者只需要少量的信息,尤其是RSS订阅,而不需要开放重量级的HTML解析器库,此时使用Linux解析HTML将更为快捷有效。以下是一种实现此任务的示范代码:

#include 
#include
#include
using namespace std;

int main()
{
//Read HTML document into string
string document = " PARSING HTML ON LINUX

My first Header

My first paragraph.

";
string line;
vector lines;
int contentBegin = 0;
int lineBegin = 0;
//Traverse document line by line
for (int i = 0; i
{
if(document[i] == '\n' || i == document.length() - 1)
{
int lineLength = i - lineBegin;
if(i == document.length() -1) lineLength++;

line = document.substr(lineBegin, lineLength);
lines.push_back(line);
lineBegin = i + 1;
}
}

//Parse HTML Document
for(int i = 0; i
{
if(lines[i] == "")
{
int end = 0;
for(int j = i; j
{
if(lines[j] == "")
{
end = j;
break;
}
}

for(int j = i; j
{
if(lines[j][0] == '
{
cout
cout
break;
}
}
break;
}

if (lines[i] == "")
{
for(int j = i + 1; j
{
if(lines[j] == "") break;
if(lines[j][0] == '
cout
else
cout
cout
}
break;
}
}
return 0;
}

上述代码使用了C++编写,它读取传入的HTML文件字符串,并以行为单位解析,获得指定的信息。首先,会提取标题,这可以在和标签之间的标签中找到。然后,和标签之间的内容被获取,这里还会提取出所有的</p> <h3>标签和段落标签,依次解析提取出其内容。最后,解析完成的内容将以文本的形式输出,在应用开发中使用非常方便,无需担心兼容性或数据格式问题。</p> <p> <p>总而言之,Linux解析HTML文档是一种非常快捷有效的方式,特别是在需要少量信息时,比如订阅RSS等,不需要开放复杂庞大的HTML解析器库,此时可以借助Linux解析HTML,使开发者有足够的方便快捷,而又不失效率。</p> </h3> <p>

香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

ssh远程超时中断的解决办法

有时我们网络正常的,但SSH连接经常出现中断的情况,以及在SSH远程时很慢的问题。 这是由于OpenSSL服务默认启用了...

Linux系统防火墙放行端口

如果您服务器内安装了宝塔面板,请直接登陆宝塔面板,安全,里面添加放行端口。如果添加后不生效,把防火墙开关一下即可。本教程...

Linux主机简单判断被CC攻击的网站命令-比较直接有效

CC攻击很容易发起,并且几乎不需要成本,导致现在的CC攻击越来越多。 大部分搞CC攻击的人,都是用在网上下载的工具,这些...

linux环境下测试get和post请求

Linux环境下测试get和post请求 ?get,post,curl   get请求 curl: curl ...

umount卸载磁盘提示target is busy

umount卸载磁盘提示target is busy. (目标忙) 的问题解决方案   umount卸载磁盘提...
返回顶部