python做爬蟲的優勢相比其他語言的優點

2021-10-19 22:29:32 字數 848 閱讀 6297

爬蟲需要處理的一些問題:

傳送http請求

解析html原始碼

處理反爬蟲機制效率

簡單的不能再簡單的粗略不嚴謹地回顧一下:

傳送http請求:python裡我最喜歡用requests傳送請求,傳送請求的**是這樣的:

requests.get(url) # get

requests.post(url, data) # post

requests.put / delete / head / … # 各種請求

#p.s.使用下面的**處理cookie更酸爽

requests.session()

到目前為止我還沒有找到別的語言有比這個更加簡單的傳送http請求的方式了(不排除我見識短的可能性)。
解析html原始碼:

python預設可以使用htmlparser來解析html,如果你覺得用著不爽(確實用著不爽),可以有很多第三方庫來優雅的做這些事情(lxml / beautifulsoup / …),甚至可以通過一些庫(selenium等)來直接使用瀏覽器。你可以直接使用類似 body.div.a[『href』] 這樣簡單到爆的語法取自己需要的內容。

處理反爬蟲機制:

效率: 爬蟲的效率問題基本不在解析資訊的速度上,網路io的時間其實才是大頭。比如你請求網頁花了500ms,相應的你的解析速度是1ms還是10ms已經不重要了。其他還有很多地方就不一一總結了,簡而言之,寫爬蟲來講,python相對於其它語言的優勢在於有足夠簡介的語法和足夠多的庫支援,開發效率很高,而且執行效率方面,網路io的時間已經大大沖淡了python的效率問題。

用python可以1個人做5個人的事情,只是多用10倍的機器,多麼划算。如上~~~

spark相比MapReduce的優勢

spark 比hadoop快的原因 資料本地性 排程優化 傳輸優化,最主要的是基於記憶體計算和引入了dag。hadoop的計算結果在磁碟中,spark是在記憶體中 資料計算任務需要多個步驟時,hadoop需要引入oozie等工具,但是spark有dag hadoop中,每乙個job 的計算結果都會儲...

swift相比oc的優勢

1 更容易閱讀 行尾不再需要分號,if else語句括弧也不需要,呼叫方法時 也不再巢狀,簡化了句法和語法更加乾淨有表現力.2 更易於維護 把oc標頭檔案.h和實現檔案.m合併成了乙個 檔案.swift 3 更安全 可選型別使得乙個nil可選值的可能性變得非常明確,可以讓程式設計師帶著目標去寫 問題...

Spark相比MapReduce的優勢

mapreduce是apache hadoop中用於大規模資料集計算的平行計算框架,目前被廣泛應用於企業的離線資料處理上。但是因為種種原因,mapreduce的效能並不理想。而spark作為資料處理框架界的後起之秀,很多方面都超過了mapreduce。下面來列出mapreduce的不足以及spark...