c分析網頁源碼
⑴ c++,獲取網頁源代碼
用CInternetSession的OpenUrl函數
參照這段代碼
void CHttpClinetDlg::OnButton1()
{ UpdateData(TRUE);
CInternetSession mySession(NULL,0);
CHttpFile * myHttpFile=NULL;
m_infor="連接到站點"+m_URL+"\r\n";
CString myData;
myHttpFile=(CHttpFile*)mySession.OpenURL(m_URL);
while (myHttpFile->ReadString(myData))
{
m_infor=m_infor+"\r\n";
m_infor+=myData;
}
myHttpFile->Close();
mySession.Close();
UpdateData(FALSE);
}
⑵ 幫我分析一下網頁源碼(我想知道它的視頻下載地址)
建議你最好把那段視頻下載下來
使用方法:
1、打開土豆視頻或豆單視頻頁面,如:http://www.tudou.com/playlist/playindex.do?lid=608662
2、在地址欄的tudou.com前面加一個kiss後回車,即訪問:
http://www.kisstudou.com/playlist/playindex.do?lid=608662,怎麼樣,看到所有flv下載地址了嗎?開始下載吧!
3、目前可以kiss的地址示例:
http://www.kisstudou.com/programs/view/YDn_zTq_8gI/(單視頻播放頁面1)
http://www.kisstudou.com/programs/view.php?itemID=7701426(單視頻播放頁面2)
http://www.kisstudou.com/playlist/playindex.do?lid=608662(豆單播放頁面)
http://www.kisstudou.com/playlist/id/608662/(豆單介紹頁面,無需進入播放頁面)
http://www.kisstudou.com/playlist/showPlayList.do?lid=1414378(豆單介紹頁面2)
http://www.kisstudou.com/album/view/RCFpiU0PYAM/(相冊視頻播放頁面)
4、其它視頻網站(如56,優酷等)的下載方法:將視頻播放地址復制到上面的文本框後點「開始解析」,同樣能看到flv下載地址。
如:http://www.56.com/u67/v_MTAwMDAwMA.html
http://www.kisstudou.com/
⑶ c/c++如何抓取網頁內容
1、第一種是編寫一個 HTTP 客戶端程序,主動連接對端地址,並發送 GET 請求,然後接收響應。代碼量較大,而且需要對 HTTP 協議非常熟知,不僅要處理 HTTP, 若是安全連接的網站,可能還要處理 HTTPS, 不建議採用;
2、第二種是使用外部工具,若你 Linux 下編程,可以在程序中調用 wget 命令,將請求的 URL 傳入 wget 做為參數,並將返回的結果輸出到一個指定的文件,然後去讀取這個文件,分析返回的 HTML 源碼即可;
3、第三種是使用 HTTP 庫,比如 libcurl 庫,網上有使用方法,使用起來很簡單,推薦使用這種方法。
⑷ c語言獲取網頁源碼
這個不是c語言的問題,網頁很明確的告訴這個文檔已經搬到t.sina.com.cn。這是一個跳轉網頁,你手動復制weibo.sina.com到瀏覽器,你看會跳轉到weibo.com/guide/welcome,c不會像瀏覽器那樣跳轉後再獲取吧,除非你改下程序,但是可能要涉及到http協議了,學術淺薄,就不多講,祝你好運!
⑸ C語言/C++,用recv獲取網頁源代碼,中文為什麼是亂碼 代碼如下:
這種問題通常是你的代碼在處理字元串是弄錯了。。。
接收過來的內容應該沒問題吧。。。。
只是顯示的時候弄錯了吧。。
仔細檢查一下,中文字元佔2個位元組,指針頭別弄錯了,最後加上'\0'別加錯位置。。。
如果英文字元都不可以正確顯示的話,那可能是粘包。
還有是不是編碼問題。
⑹ 如何分析網站源碼
分析網站源碼可以從以下同個方面
第一,網站採用的技術,是php還是asp,通常php好於asp
第二,網站布局結構是用的div/css還是tabel通常div布局更有利網站收錄
第三,網站的源碼是否支持二次開發,書寫是否規范.只要看代碼有沒有加密,有沒有注釋,易不易看懂
第四,網站源碼是否原創,是否有版權問題.如果你是要用它建站,這個還是要注意下了.免得吃官司
第五,源碼的安全性,可以用360網站網站在線安全檢測來檢查一下.
綜上所述就是分析網站的幾個點了,打了這么多字希望採納
⑺ 哪位高手知道網頁源代碼解析技術
恩恩,源代碼其實一點用都不頂的,如果是下載個FLASH文件或者音樂視頻什麼的調用還好使,要是連接資料庫就不行了,基本全都隱藏了
⑻ 如何利用c語言分析網頁
首先,你這個想法還是很不錯的,我以前也想這么做過。不過,學習html語言在這里肯定是次要的,主要的還是要學會分析的方法,而不是掌握被分析的內容,你說是吧?
如果要用程序抓取網頁自動保存到本地,就要會用socket編程,或者學習使用libcurl庫,這些都比學html語言有用的多,不做網頁抓取的時候,這些知識依然非常有用。而且,不同的網頁,內容不同,規律可能也不同。比如你給的那個例子網址,我右鍵查看了源代碼,裡面就根本沒有所謂的<td>、<tr>標簽,即它的表格不是通過這些標簽來實現的。所以,讓你去看這些標簽,就是南轅北轍了。
網頁分析,說到底還是字元串處理和分析。所以,你如果真的想學,不如好好學一下正則表達式和字元串處理相關的函數,以及函數庫,比如tidy庫等。正則表達式是用來匹配一類字元串的,方便找規律,也方便處理,你稍微學習一點點就知道有多麼的強大,多麼的有用了。而且,正則表達式跟語言無關,什麼語言都能用得到,學這個不虧的。
標准C庫中沒有正則表達式相關的函數,一般來說C中使用兩種正則表達式庫,一為POSIX C正則庫,二為perl正則庫PCRE。相比較而言PCRE要強大些,POSIX C正則庫就足夠使用。
下面,這幾個鏈接裡面有網頁分析的一些例子,雖然不都是C語言來處理的。但是,思路都是一致的。 所以,說到底,還是正則表達式、正則函數庫、字元串處理函數這些才是根本。先說這些,希望對你有所幫助。如果你在學習過程中還有什麼問題,歡迎隨時交流:)
C#的: http://www.jb51.net/article/16618.htm
C#的: 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><p>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 XHTML
if ( ok )
rc = tidySetErrorBuffer( tdoc, &errbuf ); // Capture diagnostics
if ( rc >= 0 )
rc = tidyParseString( tdoc, input ); // Parse the input
if ( rc >= 0 )
rc = tidyCleanAndRepair( tdoc ); // Tidy it up!
if ( rc >= 0 )
rc = tidyRunDiagnostics( tdoc ); // Kvetch
if ( rc > 1 ) // If error, force output.
rc = ( tidyOptSetBool(tdoc, TidyForceOutput, yes) ? rc : -1 );
if ( rc >= 0 )
rc = tidySaveBuffer( tdoc, &output ); // Pretty Print
if ( rc >= 0 )
{
if ( rc > 0 )
printf( "\nDiagnostics:\n\n%s", errbuf.bp );
printf( "\nAnd here is the result:\n\n%s", output.bp );
}
else
printf( "A severe error (%d) occurred.\n", rc );
tidyBufFree( &output );
tidyBufFree( &errbuf );
tidyRelease( tdoc );
return rc;
}
⑼ 如何在objective-c中讀取一個URL網頁的源代碼
建立一個GET請求,向URL發送請求,得到的數據就是網頁源碼
⑽ C,C++怎樣從網頁源碼中取出內容
正則表達式匹配 <head> 和 <body> 中所有非 <[^>]*> 的內容
用現成的 html 解析庫
手工寫HTML解析代碼