python爬蟲怎麼做?

Python基本環境的搭建,爬蟲的基本原理以及爬蟲的原型

Python爬蟲入門(第1部分)

如何使用BeautifulSoup對網頁內容進行提取

Python爬蟲入門(第2部分)

爬蟲運行時數據的存儲數據,以SQLite和MySQL作為示例

Python爬蟲入門(第3部分)

使用selenium webdriver對動態網頁進行抓取

Python爬蟲入門(第4部分)

討論瞭如何處理網站的反爬蟲策略

Python爬蟲入門(第5部分)

對Python的Scrapy爬蟲框架做了介紹,並簡單的演示瞭如何在Scrapy下進行開發

Python爬蟲入門(第6部分)


壹瓜壹果


\n

{!-- PGC_VIDEO:{"thumb_height": 360, "thumb_url": "b767000764bd413ebfd2\

手機視界


當然是先了解python的基礎 熟悉css和HTML標籤 掌握最牛逼的庫,requests,scrapy,

url等等最常用的庫,也是爬蟲最好用的庫,學會這些,爬取一些簡單的沒有問題,再深入學習多線程爬取數據,賊牛逼,當你爬取一些數據之後,有了成就感,就有動力,加油!你是最棒的


軟件系列神仙


入門爬蟲,肯定先要對爬蟲有個明確的認識。

網絡爬蟲:又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者,是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

其實簡單說,爬蟲就是爬取知識,爬取內容。就像一隻蜘蛛,不斷的在爬取網路上的內容!互聯網上的內容都是人寫出來的,有規律,大部分爬蟲是從發送請求——獲得頁面——解析頁面——下載內容——儲存內容這樣的流程來進行。

如何入門爬蟲,可以看傳智播客Scrapy爬蟲框架視頻教程:

其它關於網絡爬蟲的教程:

網絡爬蟲-利用python實現爬取網頁神技1

網絡爬蟲-利用python實現爬取網頁神技2

Python之爬蟲開發帝王


傳智播客


謝邀~~關注極迭代,和小夥伴一起看↗↗↗
python的知名用途之一就是做爬蟲,爬取各類網站的數據,以便進行進一步分析
根據爬取的難易不同,(網站封堵的力度大小),會有多種的爬取方式。

簡單網站,直接使用頁面請求

python將http請求發送給服務器,服務器返回網頁內容
此時,就可以用python多線程的方式進行數據的抽取和分析、存儲了

從獲取的html頁面中,或者api獲取的json中,得到自己所需要的數據,然後存儲到指定的數據庫


用到的庫主要為 :

  • http訪問: requests模塊、或urllib3

  • 多線程:Threadthreadpool線程池,或者concurrent包裡的ThreadPoolExecutor、或urllib3自帶的PoolManager()

  • 文檔處理: re 正則表達式、json模塊

  • 數據存儲:
    MySQL-python存儲或者pymongo mongodb存儲等等
進一步的,如果爬取量大,可以進行些簡單的封裝,讓各個功能各司其職


比較正式的爬蟲系統,可以用python框架Scrapy

Scrapy已經提供了一整套的機制,來減少自己搭建爬蟲系統的難度。


被封堵的網站

網站封堵爬蟲會有很多的不同的技術,並且這些技術都是在不斷調整和完善的,網站有時也會修改界面或者接口,我們會經常會發現今天能爬取的網頁,明天就不行了,這就需要經常檢查和修復。
  • 簡單的js封堵,可以通過代碼分析,模擬邏輯來繞過


  • 複雜的驗證碼就需要用些圖像識別庫來進行識別了,如pytesser,然後填充和認證通過

  • 如果需要登錄的網站,還可能需要用到selenium工具進行模擬輸入的方式登錄
最後,我們就能夠下載到所需要的文章、圖片、漫畫、視頻、數據等等


❤❤❤❤❤ 請任性點贊,謝謝關注  -- 我是 極迭代 ,我為自己帶鹽 :)


極迭代


不管你用什麼語言,爬蟲都只有這幾個步驟

1、發送請求

2、接受響應

3、解析響應

4、數據存儲

上面的怎麼理解呢?我們以瀏覽器的工作過程作個大概的說明。比如,我們準備在百度上查個問題。

首先,我們需要在瀏覽器地址欄輸入 http://www.baidu.com ,然後回車。其實這就是在發送請求,當然瀏覽器為我們隱藏了很多細節。簡單粗暴的理解,瀏覽器會將地址以及本身的一些信息打包成一個 HTTP 包(計算機裡就叫做請求),然後發給目標地址。

其次,遠程服務器在收到請求後,知道了瀏覽器想訪問 www.baidu.com ,於是也打了一個包(計算機裡就叫做響應)然後返回,瀏覽器從而接受到了響應。

然後,瀏覽器收到響應後,會看看響應的一些信息,比如返回的內容的類型,比如這裡是 HTML ,於是瀏覽器調用相應的引擎渲染,最後百度頁面就展示出來了。

最後呢,如果瀏覽器開著緩存的話,會將訪問過的 HTML 文本緩存過來,也就是數據存儲了。

這樣,瀏覽器訪問百度頁面的流程也就結束了。爬蟲呢,就是將上述的過程通過代碼手動來控制。

所以

最基本的,我們需要了解 HTTP 的基礎知識,至少你得清楚什麼是請求,什麼是響應,請求的 GET 和 POST 方式有啥區別。

前期瞭解基礎就 OK 了,看下廖雪峰的這個就行了 http://dwz.cn/7GN39x 。

然後我們要知道怎麼發送請求和接收請求,這個 Python 有很多現成的庫,如果想快速入手的話學學 Request 就可以搞定。

http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 。基礎的話,看給的鏈接的一個頁面足矣。

其次就是解析數據,數據當然有很多類型,如果是圖片或其它二進制類型的話,就要看 Python IO 方面的內容,這裡上面的鏈接有一個小例子。

如果是 HTML 或者 XML 類型的話,有兩種方式解析。或是使用正則匹配,或是使用現成的庫如 PyQuery 等。當然正則比較麻煩,初學者前期可以先使用現成的庫。

JSON類型 的話 Python 的 simplejson 庫就能解決。

常見的也就這幾種類型,碰到少見的百度、谷歌找下解決方案就好。

最後是存儲部分,二進制類型的話可以直接存文件,比如上面的圖片。文本類型的話,可以存 MySQL 或是 Mongo 。MySQL 的話可以使用 PyMySQL 庫,Mongo 可以用 PyMongo 。當然也還有其它的數據庫,看你的選擇。

------

到這裡,完成一個爬蟲所需要的基礎知識我也差不多說明完了。上面有的知識點我給了教程鏈接,有的沒有,需要的朋友可以自己試著百度、谷歌一下。

另外,也考慮到大家找著麻煩以及教程的系統性,我這有個之前付費買的的視頻教程,這裡免費分享給大家,前面涉及點的也都有教學,需要的可以私信我。

看完前面 3 個章節,基本上爬蟲所需的基礎知識你也差不多掌握好了。至於爬蟲怎麼做,到這裡你也基本清楚了。

後面進階的話,你可以看下後面 2 個章節,當然,這對進階還遠遠不夠,更重要的是去實踐,去挑戰各類反爬蟲策略。


覺得有用的希望留個贊,對 Python 有興趣的夥伴歡迎來關注,近期也寫了一些 Python 基礎相關的文章。


以上。


開發小凱


入門來說,其實很簡單,只要你對網頁有一定的瞭解,有一點python基礎,很快就能上手。python裡邊有許多現成的用於做爬蟲的包,像urllib,urllib2,requests等,解析網頁有bs4,lxml,正則表達式等,我經常用到的就是requests+BeautifulSoup爬網頁,對於爬取基本常見的網頁就足以了,requests(get或post)下載網頁,BeautifulSoup解析網頁,find查找獲取你需要的數據就可以,然後存到mysql或mongodb中,一個基本的爬蟲就成了,像爬去糗百,批量下載圖片、視頻等都可以,如果你想進一步深入瞭解爬蟲,可以瞭解一下scrapy框架和多線程,分佈式爬蟲。


分享到:


相關文章: