iT邦幫忙

1

python爬蟲近年來是不是很流行呀?用node.js效果一樣嗎?

  • 分享至 

  • xImage

以前好像沒有那麼多python的書,爬蟲這個詞也僅限專業人士才知道。
近幾年不知道什麼緣故,
爬蟲幾乎變成家喻戶曉有在用網路的人,似乎都要知道的東西。
為什麼python爬蟲那麼紅啊?

最近也開始想了解後端的語言,發現node.js其實也能做爬蟲,
不知道用node.js寫的爬蟲效果是不是一樣,
照理說差不多,那有點好奇為什麼紅起來的不是node.js!?
是不是說pyhton這個語言真的有他的簡單之處!?

還是這只是一種商業炒作,或者流行?(書局逛一下真的很多python+爬蟲的書XDDDD)
有沒有前輩有相關經驗可以分析這幾年的趨勢?

froce iT邦大師 1 級 ‧ 2023-01-30 08:38:26 檢舉
python是因為搭配big data勢必需要爬蟲去爬資料,加上很好寫,所以才會一堆書。
你高興的話有個http client都能寫爬蟲,沒一定要python。重點還是寫網站的基本知識...
obarisk iT邦研究生 1 級 ‧ 2023-01-30 09:05:21 檢舉
爬結構化資料,只推薦用 R。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
bill0704
iT邦新手 5 級 ‧ 2023-01-29 23:24:02
最佳解答

先說身為非本科純學興趣之人,其實我不是很建議python當後端。雖然我很喜歡django,也用過flask,也聽說過fastAPI有多快(沒用過)...。我還是覺得python的速度跟效能可能無法符合業界的需求,如要考慮後端語言,PHP(好像7板以後)還是效率快python蠻多的,何況還有GO等更有效率且熱門的後端語言

但Python會紅不是沒有道理的,關於你的問題:

  1. Python簡單易上手,非本科都能稍稍了解並使用.架架小網站寫寫小工具開發很快
  2. 而爬蟲生活化,寫書要好賣當然要貼近一般人需求的市場
  3. Python關於爬蟲的套件就有很多,BS,selenium,request都很好用
  4. 至於用node.js爬蟲當然也沒問題,他也有selenium等好用的套件,但是我還是會用python,因為我能用jupyter像寫筆記本一樣寫code,還能接個pandas寫出表格做整理,還能用plotly畫圖做儀錶板,這些當然js也有很多套件辦的到,但個人覺得沒有python的套件那麼好上手

結論就是:Python強大之處就是簡單好學,以致有很多非工程師都能寫出一些套件跟工具,自然有著較大的受眾跟社群,但受限於速度與效能,不見得是專業工程師的主力工具:

  1. 寫遊戲比不上c++和C#的Unreal跟unity
  2. 後端打不贏php跟go
  3. 前端當然還是js (ps: python有套件可以寫前端,但只能算是小玩具)
  4. 好像不能寫mobile app? 沒玩過
  5. Python因為機器學習很紅,但其實背後都是C語言
  6. 寫桌面GUI我也改用js了,是說Tauri是不是要起飛了= =|||

個人建議是有空可以學,但我覺得不見得對web工程師工作有很大的幫助,反而是對其他需要寫些電腦工具的專業領域,如科學家(以前都用R跟perl),工科領域的工程師,或是做報表整理資料的上班族是很有用的技能

看更多先前的回應...收起先前的回應...
bill0704 iT邦新手 5 級 ‧ 2023-01-29 23:30:18 檢舉

補充一下: Python是好上手,但其實python也不是那麼好精通,學他語法的過程中你可以感受到發明者的理念(zen),若以非功利導向我是非常推薦去玩一玩

froce iT邦大師 1 級 ‧ 2023-01-30 08:40:22 檢舉

Tauri不錯,只是後端是rust要學一陣子。
終於有有機會可以幹掉 electron 的東西了。

froce iT邦大師 1 級 ‧ 2023-01-30 10:19:23 檢舉

我還是覺得python的速度跟效能可能無法符合業界的需求

這取決於你的網站目標客群多大,中小型網站 Django、flask綽綽有餘,大型網站要用python硬上也不是不行,優化要做好。

另外網站的最大瓶頸還是在資料庫的存取速度。

在台灣業界是因為習慣上還是php、.net為大宗就是了。

bill0704 iT邦新手 5 級 ‧ 2023-01-30 18:43:34 檢舉

收到 感謝django高手force大的補充

jeffeux iT邦新手 4 級 ‧ 2023-02-01 03:30:00 檢舉

大大您說的基本上我都認可,但 ML 那塊不太認同就是
我知道 Python 尤其是 NumPy 和 PyTorch/TensorFlow 背後是 C++/CUDA/C code 但實際上 ML 真的要搞到那個程度的很少⋯⋯

基本上 ML 的軟韌體甚至 Verilog 我覺得那叫寫軟韌體和硬體並非做 ML

bill0704 iT邦新手 5 級 ‧ 2023-02-02 12:56:17 檢舉

是的您說的對。我當時的意思應該想說工程師要優化ML演算法時,你會發現你用的框架背後都不是python ,但資料科學家使用上其實懂python就可以調用,而他們需要的反而是統計與優化目標的專業知識(不是程式)

bill0704 iT邦新手 5 級 ‧ 2023-02-02 13:01:18 檢舉

簡單說是造賽車的工程師跟賽車手都有他們的專業,但方向不一樣。

謝謝您的分享~很棒的分享,選您為最佳解答
讓其他人能知道這種很棒的分享!大家一起進步

2

python爬蟲會紅的原因。是因為它有幾點好處。
其一工具套件已經很全。
已經簡單到,設定好網址就可以爬了。
再加上其有存在就可以直接利用的PROXY套件。

其二不需要再多假設SERVER。只要套件程式下載下來,下指令就行了。
這樣可以省下架 SERVER 這件事。

對於一些只是單純要拉資料的使用者來說。它是一個很方便使用的語言。
且一般爬蟲也不太會去跑很高並發的請求。畢竟太快太多連結也容易被對方網站給鎖住。

不過像我還是會用PHP跑,但有時也會用GO來跑。
原因是其效能比較好。當然也是因為我對PHP比較熟。
上面說的優點之一,不用架SERVER。對我來說是可有可無的優點。

依然是很棒的解釋,謝謝前輩!真的學到很多。
未來也希望自己這麼厲害QQ

我要發表回答

立即登入回答