2013-01-04 29 views
-2

我有一段時間現在試圖想出一個方法來做一些簡單的C++網站的抓取。 我偶然發現了cURL庫,但我無法正確安裝它,所以我會嘗試另一種方法。C++刮網

你們有沒有人知道任何方法?如果後面詳細解釋如何使用C++在Win32上安裝它,使用cURL是一個可以接受的答案。

我可以在某種程度上簡化它,或者它是C++中不可能完成的任務嗎?如果是這樣,是否會更容易嘗試使用C#,儘管我之前從未使用過它?

+1

如果您沒有完全解釋您使用cURL遇到的問題,則沒有人可以幫助您解決問題。至於什麼語言最好,那完全是主觀的。 – Mat

+1

C++是可能的,因爲C++是通用的圖靈完備語言。 –

+1

@仇恨引擎:圖靈度完備性不需要網絡支持:) – Philipp

回答

2

如果你在做網頁抓取,C++可能不是最好的語言。 C++是一種低級語言,它對性能非常好,但對於這樣的任務來說,只需花費很長時間就可以獲得解決方案。看看Python和urllib2庫,或者Perl或Ruby等其他腳本語言。

+0

python和urllib2的+1。只需要幾行就可以工作。 –

+5

這不是問題的答案,而是另一種技術的建議。 Web Scraping *可以用C++來完成,即使這是一個壞主意,我來這裏希望能夠在後期看到如何。 – baordog

4

由於Vlad Lazarenko發佈了評論,the official install guide for cURL可以幫助您安裝它。

當你仍然無法正常工作時,你可以自己實現HTTP。這不是一個非常複雜的協議。你只需創建一個使用Winsock的一個插座,連接到Web服務器的80端口,併發送這些字符串:

"GET /example.html HTTP/1.1\r\n" 
"Host: www.example.com\r\n" 
"\r\n" 

和Web服務器將利用其自身的HTTP頭,後跟example.html的內容回答(或錯誤信息)。

關於你關於C#的問題:當我不得不選擇用C++或C#實現一個網頁抓取工具時,我會選擇後者,因爲它帶有HTTP支持和更出色的字符串處理功能,而不需要任何庫。但是,這是基於這樣的假設:1.我和我的團隊同樣熟悉這兩種語言,並且2.我不知道哪些更偏向於C++。