问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样实现c++对网页的操作

发布网友 发布时间:2022-04-22 08:37

我来回答

1个回答

热心网友 时间:2022-06-18 19:17

首先,你这个想法还是很不错的,我以前也想这么做过。不过,学习html语言在这里肯定是次要的,主要的还是要学会分析的方法,而不是掌握被分析的内容,你说是吧?如果要用程序抓取网页自动保存到本地,就要会用socket编程,或者学习使用libcurl库,这些都比学html语言有用的多,不做网页抓取的时候,这些知识依然非常有用。而且,不同的网页,内容不同,规律可能也不同。比如你给的那个例子网址,我右键查看了源代码,里面就根本没有所谓的<td>、<tr>标签,即它的表格不是通过这些标签来实现的。所以,让你去看这些标签,就是南辕北辙了。网页分析,说到底还是字符串处理和分析。所以,你如果真的想学,不如好好学一下正则表达式和字符串处理相关的函数,以及函数库,比如tidy库等。正则表达式是用来匹配一类字符串的,方便找规律,也方便处理,你稍微学习一点点就知道有多么的强大,多么的有用了。而且,正则表达式跟语言无关,什么语言都能用得到,学这个不亏的。标准C库中没有正则表达式相关的函数,一般来说C中使用两种正则表达式库,一为POSIX
C正则库,二为perl正则库PCRE。相比较而言PCRE要强大些,POSIX
C正则库就足够使用。下面,这几个链接里面有网页分析的一些例子,虽然不都是C语言来处理的。但是,思路都是一致的。
所以,说到底,还是正则表达式、正则函数库、字符串处理函数这些才是根本。先说这些,希望对你有所帮助。如果你在学习过程中还有什么问题,欢迎随时交流:)C#的: http://www.jb51.net/article/16618.htmC#的: http://mytiu.blog.163.com/blog/static/1059718452009127112226478/这里还有一段C语言的代码,
是将下载下来的网页源代码处理成没有标签的纯文字文本#include
<tidy.h>#include
<buffio.h>#include
<stdio.h>#include
<errno.h>int
main(int
argc,
char
**argv
){const
char*
input
=
"<title>Foo</title>
Foo!";TidyBuffer
output
=
{0};TidyBuffer
errbuf
=
{0};int
rc
=
-1;Bool
ok;TidyDoc
tdoc
=
tidyCreate();
//
Initialize
"document"printf(
"Tidying:\t%s\n",
input
);ok
=
tidyOptSetBool(
tdoc,
TidyXhtmlOut,
yes
);
//
Convert
to
XHTMLif
(
ok
)rc
=
tidySetErrorBuffer(
tdoc,
&errbuf
);
//
Capture
diagnosticsif
(
rc
>=
0
)rc
=
tidyParseString(
tdoc,
input
);
//
Parse
the
inputif
(
rc
>=
0
)rc
=
tidyCleanAndRepair(
tdoc
);
//
Tidy
it
up!if
(
rc
>=
0
)rc
=
tidyRunDiagnostics(
tdoc
);
//
Kvetchif
(
rc
>
1
)
//
If
error,
force
output.rc
=
(
tidyOptSetBool(tdoc,
TidyForceOutput,
yes)
?
rc
:
-1
);if
(
rc
>=
0
)rc
=
tidySaveBuffer(
tdoc,
&output
);
//
Pretty
Printif
(
rc
>=
0
){if
(
rc
>
0
)printf(
"\nDiagnostics:\n\n%s",
errbuf.bp
);printf(
"\nAnd
here
is
the
result:\n\n%s",
output.bp
);}elseprintf(
"A
severe
error
(%d)
occurred.\n",
rc
);tidyBufFree(
&output
);tidyBufFree(
&errbuf
);tidyRelease(
tdoc
);return
rc;}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 中国历代“亲亲得相首匿”原则的特点 现在飞机场安检需要多长时间?即提前多少时间到机场? 易语言 网页操作 亲亲得相首匿 具体是什么意思 问下桂林机场安检要多久啊 如何在一个html页面操作另一个html页面 甘肃话 “亲得很” 4000368876 这个号码是我手机分期付款的号码 付... 飞机安检需要多少时间啊 易语言网页操作 谓狱中语乃亲得之于史公元 请问这句话什么意思? 谢谢 别人用我的淘宝号分期付款买东西,到时侯是从我的... 下飞机过安检需要多长时间 如何在打开多个网页后,只需在一个网页上点击操作... 我的外国老婆经常把我脸上亲得满脸口红印这到底是... 浦东机场安检需要多久 用VBA代码实现网页自动操作,网页地址如下: 我买车是分期付款我号码换号了怎么能把号码改过来呢? “谓狱中语乃亲得之于史公云”翻译 安检一般要多长时间(即最好在飞机起飞多少时间前... 乘坐高铁安检要求多 来看哪些物品不可携带 古代亲亲得相首匿原则中,这里的“首“和“匿”是分别... 亲亲得相首匿最早确立于什么朝代 一般,虹桥机场办登机手续(含托运行李)、安检,... 法兰毛坯的种类 为什么接吻的感觉那么好 现在在北京过机场安检大概要多长时间? 请问,亲亲是什么感觉? 法兰毛坯的用途 最近南京机场安检需要多久?急! &quot;亲亲得相首匿&quot;匿的是谁的罪? 法兰毛坯的技术条件 早上换登机牌,行李托运,通过安检大概需要多少时间? 亲亲得相首匿与同居相为隐的联系与区别?? 中国的安检到底有多严? 购入法兰毛坯一般做什么会计分录 上海市民办新复兴初级中学的学校历史 中国的安检到底有多严? 上海复新进修学院好不好? 你好,我想咨询一下,外购回原材料直接割成的毛坯...