當前位置:編程學習大全網 - 編程語言 - C語言,如何對網頁進行操作?

C語言,如何對網頁進行操作?

首先,妳這個想法還是很不錯的,我以前也想這麽做過。不過,學習html語言在這裏肯定是次要的,主要的還是要學會分析的方法,而不是掌握被分析的內容,妳說是吧?如果要用程序抓取網頁自動保存到本地,就要會用socket編程,或者學習使用libcurl庫,這些都比學html語言有用的多,不做網頁抓取的時候,這些知識依然非常有用。而且,不同的網頁,內容不同,規律可能也不同。比如妳給的那個例子網址,我右鍵查看了源代碼,裏面就根本沒有所謂的<td>、<tr>標簽,即它的表格不是通過這些標簽來實現的。所以,讓妳去看這些標簽,就是南轅北轍了。網頁分析,說到底還是字符串處理和分析。所以,妳如果真的想學,不如好好學壹下正則表達式和字符串處理相關的函數,以及函數庫,比如tidy庫等。正則表達式是用來匹配壹類字符串的,方便找規律,也方便處理,妳稍微學習壹點點就知道有多麽的強大,多麽的有用了。而且,正則表達式跟語言無關,什麽語言都能用得到,學這個不虧的。標準C庫中沒有正則表達式相關的函數,壹般來說C中使用兩種正則表達式庫,壹為POSIX

C正則庫,二為perl正則庫PCRE。相比較而言PCRE要強大些,POSIX

C正則庫就足夠使用。下面,這幾個鏈接裏面有網頁分析的壹些例子,雖然不都是C語言來處理的。但是,思路都是壹致的。

所以,說到底,還是正則表達式、正則函數庫、字符串處理函數這些才是根本。先說這些,希望對妳有所幫助。如果妳在學習過程中還有什麽問題,歡迎隨時交流:)C#的: /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;}

  • 上一篇:學習Python編程工作好找嗎
  • 下一篇:求高中化學各種常見燃料電池的電極反應式
  • copyright 2024編程學習大全網