如同標題,什麼語言都可以做爬蟲嗎 ?
Yes,什麼語言都可以 !
HTTP 是基於 TCP 之上,而 socket 又是 TCP / IP 的 API
也就是說你可以直接撰寫 HTTP 或 HTTPS 封包,這是沒有問題的
而 socket API 又是由作業系統提供,所以每個程式語言也都有對應的語法能用
既然每個語言都可以做爬蟲,那為何選 Python ?
要知道 Python 是一個套件很多的語言,而且語法親切
從處理最基本的 HTTP Request,就有 requests 可以處理
處理 HTML 和 CSS 的時候有 bs4
處理 JSON 的時候有 json
而且字串處理很輕鬆,不用像 C 語言那樣時時刻刻思考記憶體的管理
小弟我最近在學習 PHP,為了練習 PHP Coding 有做了一點爬蟲專案
對於長期下來被 Python 寵壞的我,改寫 PHP 爬蟲的時候只思考一個問題 :
「PHP 要怎麼處理 HTTP Request 啊 ?」
於是就上 Packgist 網站上看哪個套件星星多就載哪個
然後默默的在終端機下達了指令 composer require rmccue/requests
我的爬蟲專案就順利靠這個套件寫完了
大家不要把爬蟲想得太難
我認為爬蟲只是「把你在意的資料爬取下來」而已
至於資料要存在資料庫還是檔案,或者資料要拿來幹嘛都是另一回事了
也就是說只要「該語言有套件能幫你處理 HTTP Request」就可以輕鬆寫爬蟲
真的沒有 HTTP Library 就直接用 socket 寫封包