python學習爬蟲,不會前端和全棧可以嗎?為何?

印度行萬里歸來顏愈少


爬蟲它本質就是利用程序模擬各種網絡請求然後獲取網頁裡面的信息。所以如果看不懂網頁源碼是無法做好一個爬蟲的。建議學一點點前端,做到能看懂前端網頁源碼即可。不用深學前端。Python這塊不要造輪子,可以用許多爬蟲包。網上有很多博客,可以找一個博客然後實踐。不動手肯定會覺得非常難,事實上動手做一個爬蟲後就會知道並不難。


Ai醬AI學習


很高興回答你的問題。要回答這個問題,我們首先我們得先明白另外一個問題。

什麼是全棧工程師?

廣義上的全棧工程師包括的是大前端(Web、App等)、後端(視技術棧而定的Java、php等)、運維,集整個常見工種於一體的工種。

但是發展到了現在,很多人把會Web前端和後端的人員稱為全棧,其實我更願意稱之為「偽全棧」。

弄懂了全棧的含義其實就不會存在題中的「前端和全棧」這種叫法了。

然後我們再來說說學習python爬蟲需要學習寫什麼了。情況得分為兩種來討論。

一、有一定開發基礎的學習人員

如果你已經有了一定的開發基礎。你需要學習以下知識。

  1. python:你想要學習python爬蟲,你首先得會python。python爬蟲,只是python應用的一個分支。

  2. 數據庫:爬蟲抓取下來的東西,總得有地方存儲吧,存儲就得用到數據庫。

  3. 前端:包括html、css、js等。爬蟲分為直接爬取頁面、爬取接口、使用仿瀏覽器庫進行爬取。無論哪種方法,都是從前端出發,需要了解你爬取的數據從哪兒來,展示在哪兒。這些都需要用到前端知識,所以前端是一個繞不去的坎兒。

  4. 各種反爬知識:<strong>現在各大網站都採取了各種各樣的反爬機制。包括但不僅限於IP訪問次數限制、自定義加密自己、驗證碼、Cookie驗證等等。反爬策略一直在升級,可能你今天寫的爬蟲,明天網站就升級反爬策略了,所以一個爬蟲需要不斷的投入精力進行維護、升級。

二、零基礎的學習人員

針對零基礎的學習人員,除了和有開發基礎的學習人員學習的一樣以外,還需要學習計算機編程的通用知識。包括但不僅限於:計算機網絡、數據結構、算法等。


Java面典


你好,Python爬蟲與前端後端都有一定的知識相關。但是不必專門去學習這方面內容。

Python爬蟲可以直接通過讀兩本相關書籍就開始上手了。

一般爬蟲會涉及到,數據採集,數據清洗,數據存儲,數據展示等。

如果說涉及前端部分的內容就是數據展示部分。將你爬去的數據進行展示在網頁中讓人直觀的看,但是在Python中會有相同的庫作為替換,所以你可以不用學習前端知識也能完成這個目的。

如果說涉及後端部分的內容就是數據的存儲,把你當爬蟲數據存儲到數據庫中。這一步,你也可以有替代方案,把數據存儲在txt文件中,excel文件中都是可以的。這樣你就不用花費時間專研數據庫等後端知識。

最後,數據採集部分,會涉及一些網絡知識,但是由於現在的Python第三方庫已經很成熟,你很多隻要查看文檔理解如何用即可,初期不用探究底層原理。也能夠完成你的數據採集工作。

數據清洗,就是通過Python變成語言來進行操作,找到你需要的內容,這部分就是主要你來完成和學習的編程內容了。


鏈求君


全棧只是個概念 也分很多種類 真正的全棧工程師涵蓋了web開發 DBA 爬蟲 測試 運維,要學的內容那是相當的巨量。就web開發方向而言需要學習的內容:前端知識 包括HTML5 CSS3 JS Jquery Ajax,後端至少需要能夠熟練使用 Django和tornado 當然會flask更好

Python全棧工程師是比較受歡迎的一類人才,本身Python語言具備全端開發的能力,所以Python的全棧工程師也比較多。

對於Python全棧工程師來說,需要掌握以下知識結構:

第一,Python語言基本語法。Python語言的基本語法掌握起來並不困難,甚至可以說非常簡單,因為Python是腳本語言,所以語法也比較直接

第二,Python做Web開發。

Python是Web開發的傳統三大解決方案之一(還包括Java和PHP),Web開發是全棧工程師必須掌握的內容。用Python做Web開發需要學習對應的框架,比如Django。

第三,Python做數據分析。Python做數據分析是一個比較常見的應用場景,Python做數據分析需要學習對應的算法以及實現過程。會使用到的庫包括Numpy、matplotlib等。

第四,Python做爬蟲。Python做爬蟲應用是一個非常常見的應用,有大量的案例可以參考。

第五,Python做機器學習類應用。Python目前在機器學習領域(人工智能相關)的應用非常普遍,所以對於Python全棧工程師來說,掌握機器學習相關的內容也是有必要的。需要掌握的算法包括決策樹、樸素貝葉斯、迴歸、kNN分類等,同時需要掌握基本的線性代數和概率論相關知識。

當然python也有它的不足之處,就是慢,比C、C++、java都慢,這一點是限制它的一點,因為在不少領域對語言的運行速度都有極致的要求,你比如說導彈攔截程序,分秒必爭,顯然python在第一步就會被pass掉。但是對於其它領域,你比如說橋樑參數的運算,我相信20分鐘和18分鐘它差不了多少。第二點就站在功利的角度來談了,就是目前計算機等級考試中沒有python這個選項,當然我相信10年之後,或許是5年,我們就可以拿到python的計算機等級證書啦。


路西法李


首先要明確一點,python只不過是一個工具,學會了使用工具不代表你就能找到工作,要有用工具處理問題的能力才符合工作需求!就像爬蟲工程師,java也能實現,想要靠你學的python找到工作,實踐經驗才是加分項!

回到問題,針對python的面試一般會涉及到下面幾個部分:

一、python基礎知識

爬蟲給人的感覺就是對於Python編程的知識要求並不高,確實,搞懂基本數據結構、語句,會寫寫函數好 像就OK了。

自己業餘玩玩還OK,如果你要找工作成功爬蟲工程師,紮實的編程基礎是必不可少的。除了基本的函數,Python的高級特性、面向對象編程、多線程、裝飾器都要熟悉。

現在很多爬蟲工程師的面試,對編程的基本功要求很高。編程的功底,以及對語言的理解,從某種程度上可以看出你的學習能力、發展潛力。 比如: Python2.x與Python3.x的區別 Python的裝飾器 Python的異步 Python的一些常用內置庫、多線程......

二、數據結構與算法

數據結構與算法是對面試者尤其是校招生面試的一個很重要的點,小公司可能不太在意。 從目前的招聘情況來看:重視數據結構與算法的重視程度與企業的好壞成正比。

三、Python爬蟲

會爬蟲和爬蟲厲害是兩碼事,你要有Python爬蟲相關的知識與經驗儲備,這通常也是面試官考察的重點。

包括但不限於: 你用過多線程和異步嗎?除此之外你還用過什麼方法來提高爬蟲效率? 有沒有做過增量式抓取? 對Python爬蟲框架是否有了解?

一般來說,你需要掌握的技術有下面幾個:

HTTP必須要有很深刻的理解,這是你縱橫網絡的立身之本;

BeautifulSoup、xpath這些都是基礎操作了,一定要做到非常熟練;

Scrapy框架要會用,要能信手捏來寫個分佈式爬蟲;

Webdriver、Selenium、PhantomJS也要會使用;

四、爬蟲相關的項目經驗

爬蟲重在實踐,除了理論知識之外,面試官更在乎: 你做過哪些爬蟲項目?如果有Github最好 你認為你做的最好的爬蟲項目是哪個?其中解決了什麼難題?有什麼特別之處? 以上是我在面試過程中,會碰到的一些技術相關的問題的總結,當然面試中不光是技術這一點,但是對於做技術的,過了技術面基本上就是薪資問題了。

五、面試經

初級:

網絡基礎:cookie,session,https,h


兩個蘋果的世界


JAVA5年老鳥,Python熟悉

Python爬蟲就是獲取書局 捷信數據(包含解析html網頁)

所以 前端會的話才是一個合格的Python爬蟲工程師 不然遇到html頁面數據束手無策。解析數據能入庫就更好啦,那麼數據庫知識有助於你存儲。

總結一下,學習爬蟲前端必須要學一下,全棧不必要,會的話更好[來看我]




閉著眼睛切土豆


我認為是需要學習的,做爬蟲除了需要了解 python 自身的基礎,還需要了解 HTTP 的基礎知識,對全棧的瞭解是跑不了的。我們從靜態頁面的抓取到動態生成內容的抓取,web 前端全家桶(尤其是 DOM)也是需要的。此外需不需進一步控制瀏覽器呢,selenium,CDP (Chrome Devtools Protocol) 各路神仙一招呼,這些更是 web 前端和 HTTP 和網絡的深度結合。


磚加號


python語言比較容易上手,有編程基礎知識就可以了,要相信自己 努力下是可以的 加油


ITIL之家


學習Python,不是前端也不是全棧沒有關係的。Python這門技術屬於獨自一門技術,前端是瞭解網站的布暑與設計,而全棧工程師屬於全部體系都學習了,全棧工程師屬於全部體系都能學習到。


分享到:


相關文章: