1. 程式人生 > >python爬蟲九:如何在pycharm中安裝scrapy,建立一個scrapy專案

python爬蟲九:如何在pycharm中安裝scrapy,建立一個scrapy專案

親身經歷,非常痛苦

1.網上嘗試各種辦法都沒成功~,很是蛋疼,最後只能死馬當活馬醫,http://landinghub.visualstudio.com/visual-cpp-build-tools下載Visual C++ 2015 Build Tools


2.下好後,靜靜等靜靜的。。。。,直到安裝完成,重啟電腦,在pycharm中安裝scrapy成功。。

3.這時如何建立一個scrapy的專案呢?

第一步:在隨意一個檔案上建立一個資料夾,在該位置開啟cmd,輸入

scrapy startproject 檔名

(如果windows上沒有安裝scrapy是不能執行成功的,windows安裝教程:點選開啟連結)

第二步:在pycharm中開啟專案,就ok了


解析scrapy框架結構:

  • scrapy.cfg: 專案的配置檔案。
  • tutorial/: 該專案的python模組。之後您將在此加入程式碼。
  • tutorial/items.py: 專案中的item檔案。
  • tutorial/pipelines.py: 專案中的pipelines檔案。
  • tutorial/settings.py: 專案的設定檔案。
  • tutorial/spiders/: 放置spider程式碼的目錄。

加一段專案說明 轉:https://zhuanlan.zhihu.com/p/26832971

Scrapy框架的基本介紹:

首先,我們得明白一點,Scrapy不是一個功能函式庫,而是一個爬蟲框架,簡單的說,他是一個半成品,可以幫助使用者簡單快速的部署一個專業的網路爬蟲。如果說前面我們寫的定製bs4爬蟲是”手動擋“,那Scrapy就相當於”半自動檔“的車。

Scrapy框架結構:

首先來一張框架整體的圖:


從圖中我們可以清楚的看到,整個框架一共分為五個部分:
  • SPIDERS
  • ITEM PIPELINES
  • DOWNLOADER
  • SCHEDULER
  • ENGIINE


這五個部分互相協作,共同完成了整個爬蟲專案的工作。下面我們來一個一個介紹。

  • SPIDERS:

Spiders這個模組就是整個爬蟲專案中需要我們手動實現的核心部分,就是類似我們之前寫的get_content函式部分,最主要的功能是 解析網頁內容、產生爬取項、產生額外的爬去請求。

  • ITEM PIPELINES:

    這個模組也是需要我們手動實現的,他的主要功能是將我們爬取篩選完畢的資料寫入文字,資料庫等等。總之就是一個“本地化”的過程。

  • DOWNLOADER:

    這個模組,是Scrapy幫我們做好的,不需要我們自己編寫,直接拿來用就行,其主要功能就是從網上獲取網頁內容,類似於我們寫的get_html函式,當然,比我們自己寫的這個簡單的函式要強大很多

  • SCHEDULER:

    這個模組對所有的爬取請求,進行排程管理,同樣也是不需要我們寫的模組。通過簡單的配置就能達到更加多執行緒,併發處理等等強大功能。

  • ENGIINE
    這個模組相當於整個框架的控制中心,他控制著所有模組的資料流交換,並根據不同的條件出發相對應的事件,同樣,這個模組也是不需要我們編寫的。


Scrapy框架的資料流動:

先上一張圖:



說了各個模組的作用,那麼整個專案跑起來的時候,資料到底是怎麼運作的呢?讓我來詳細說明:

  1. Engine從Spider處獲得爬取請求(request)
  2. Engine將爬取請求轉發給Scheduler,排程指揮進行下一步
  3. Engine從Scheduler出獲得下一個要爬取的請求
  4. Engine將爬取請求通過中介軟體發給Downloader
  5. 爬取網頁後後,downloader返回一個Response給engine
  6. Engine將受到的Response返回給spider處理
  7. Spider處理響應後,產生爬取項和新的請求給engine
  8. Engine將爬取項傳送給ITEM PIPELINE(寫出資料)
  9. Engine將會爬取請求再次發給Scheduler進行排程(下一個週期的爬取)

相關推薦

python爬蟲如何在pycharm安裝scrapy建立一個scrapy專案

親身經歷,非常痛苦1.網上嘗試各種辦法都沒成功~,很是蛋疼,最後只能死馬當活馬醫,http://landinghub.visualstudio.com/visual-cpp-build-tools下載Visual C++ 2015 Build Tools2.下好後,靜靜等靜靜

Python爬蟲實戰 批量採集股票資料並儲存到Excel

小編說:通過本文,讀者可以掌握分析網頁的技巧、Python編寫網路程式的方法、Excel的操作,以及正則表示式的使用。這些都是爬蟲專案中必備的知識和技能。本文選自《Python帶我起飛》。 例項描述:通過編寫爬蟲,將指定日期時段內的全部上市公司股票資料爬取下來,並按照股

Python(Pandas) map, applymap and apply的區別(記住作用物件dataframe的列一個元素series每一個值)

1.apply() 當想讓方程作用在一維的向量上時,可以使用apply來完成,如下所示 In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio'

Python爬蟲-02HTTPS請求與響應以及抓包工具Fiddler的使用

1. HTTP和HTTPS HTTP: 一種釋出和接受HTML頁面方法,埠號為80 HTTPS: HTTP的安全版,在HTTP上加入了SSL層,埠號為443 SSL: 用於Web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在Internet上資料傳輸的安全 網路爬蟲可以理解為模擬瀏覽器操作的過程

安裝Vue 及 建立一個Vue 專案

建立一個Vue專案 首先要先安裝node 及 npm 詳情見 【http://www.cnblogs.com/ylboke/p/8342116.html 】及 【http://www.cnblogs.com/ylboke/p/8342185.html 】 安裝Git(Git是一個分散

python爬蟲實戰利用scrapy短短50行代碼下載整站短視頻

start mongodb efi 本地 rtp 公司 loader 右鍵 more 近日,有朋友向我求助一件小事兒,他在一個短視頻app上看到一個好玩兒的段子,想下載下來,可死活找不到下載的方法。這忙我得幫,少不得就抓包分析了一下這個app,找到了視頻的下載鏈接,幫他解決

Python爬蟲框架Scrapy 爬取伯樂線上實戰

專案介紹 使用Scrapy框架進行爬取伯樂線上的所有技術文章 所用知識點 Scrapy專案的建立 Scrapy框架Shell命令的使用 Scrapy自帶的圖片下載管道 Scrapy自定義圖片下載管道(繼承自帶的管道) Scrapy框架ItemLoader

python爬蟲實戰利用scrapy短短50行程式碼下載整站短視訊

近日,有朋友向我求助一件小事兒,他在一個短視訊app上看到一個好玩兒的段子,想下載下來,可死活找不到下載的方法。這忙我得幫,少不得就抓包分析了一下這個app,找到了視訊的下載連結,幫他解決了這個小問題。 因為這個事兒,勾起了我另一個念頭,這不最近一直想把python爬蟲方面的知識梳理梳理嗎,乾脆藉機行事,正湊

Python爬蟲從入門到放棄(十五)之 Scrapy框架Spiders用法

ide 字典 初始化 需要 工作流程 www. 默認 apple 一個 原文地址https://www.cnblogs.com/zhaof/p/7192503.html Spider類定義了如何爬去某個網站,包括爬取的動作以及如何從網頁內容中提取結構化的數據,總的來說spi

Python爬蟲從入門到放棄(十四)之 Scrapy框架選擇器的用法

esp 技術分享 val arr con des image 使用 自己 原文地址https://www.cnblogs.com/zhaof/p/7189860.html Scrapy提取數據有自己的一套機制,被稱作選擇器(selectors),通過特定的Xpath或者CS

PyCharmPython整合開發環境)安裝jieba中文分詞工具包

PyCharm IDE中,可以直接引入各種工具包。jieba中文分詞工具包安裝非常方便。 1、開啟Pycharm,點選左上角  >>File  >>Settings。 2、在settings介面中點選Project :***(專案名稱)  >

Python爬蟲系列騰訊課堂Scrapy爬蟲

業務需求:需要爬取騰訊課堂IT.網際網路類別下的雲端計算大資料子類別下的所有課程資料:課程名稱、價格、購買人數、機構名稱1、編寫item.py檔案定義要爬取的資料欄位:import scrapy class TxktcrawlerItem(scrapy.Item):

Python爬蟲從入門到放棄(十七)之 Scrapy框架Download Middleware用法

本文出自“python修行路”部落格,http://www.cnblogs.com/zhaof/p/7198407.html這篇文章中寫了常用的下載中介軟體的用法和例子。Downloader Middleware處理的過程主要在排程器傳送requests請求的時候以及網頁將response結果返回給spide

開發人員學Linux(3)CentOS7安裝JDK8和Tomcat8

java tomcat jdk service centos 題外話:直到今天開始寫本系列的第三篇時本人才想好為這個系列取一個名字,本系列不是為Linux運維人員準備的,而是主要為開發人員準備的,包括但不限於:希望了解Linux的開發人員;需要在Linux上部署一些組件的開發人員,如Mem

Python爬蟲利器BeautifulSoup庫

環境 內容 python網絡 tag ret bsp 標準 requests for Beautiful Soup parses anything you give it, and does the tree traversal stuff for you. Beautif

Python爬蟲從入門到放棄(十一)之 Scrapy框架整體的一個了解

object 定義 roc encoding eth obi pipe pos 等等 這裏是通過爬取伯樂在線的全部文章為例子,讓自己先對scrapy進行一個整理的理解 該例子中的詳細代碼會放到我的github地址:https://github.com/pythonsite/

Python爬蟲從入門到放棄(十八)之 Scrapy爬取所有知乎用戶信息(上)

user 說過 -c convert 方式 bsp 配置文件 https 爬蟲 爬取的思路 首先我們應該找到一個賬號,這個賬號被關註的人和關註的人都相對比較多的,就是下圖中金字塔頂端的人,然後通過爬取這個賬號的信息後,再爬取他關註的人和被關註的人的賬號信息,然後爬取被關註人

Python爬蟲入門Urllib庫的基本使用

logs 模擬 第一個 tps 出了 訪問方式 post方式 %d 一段 1.分分鐘扒一個網頁下來 怎樣扒網頁呢?其實就是根據URL來獲取它的網頁信息,雖然我們在瀏覽器中看到的是一幅幅優美的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它 是一段HTML代碼,加 JS、

Python爬蟲利器Beautiful Soup

處理 previous tag 得到 navi log 簡單 文本節點 pen Beautiful Soup 是一個可以從HTML或XML文件中提取數據的Python庫。使用它來處理HTML頁面就像JavaScript代碼操作HTML DOM樹一樣方便。官方中文文檔地址 1

Pycharm安裝Pygame並寫第一個程序

pack har pla .net span pre int mark end 第一步:打開Pycharm 第二步:點File ->Default Settings->Project Interpreter->點加號 第三步: 搜索Pygame->