Python爬蟲之Anaconda環境下建立Scrapy爬蟲架構

來源:互聯網
上載者:User
在Anaconda環境下如何建立Scrapy 爬蟲架構?本篇文章將給大家介紹關於Anaconda環境下建立Scrapy爬蟲架構項目的步驟,值得一看。

Python爬蟲教程-31-建立 Scrapy 爬蟲架構項目

首先說一下,本篇是在 Anaconda 環境下,所以如果沒有安裝 Anaconda 請先到官網下載安裝

Anaconda 下載地址:https://www.anaconda.com/download/

Scrapy 爬蟲架構項目的建立

0.開啟【cmd】

1.進入你要使用的 Anaconda 環境

這裡我們就把項目建立好了,分析一下自動產生的檔案的作用

1.環境名可以在【Pycharm】的【Settings】下【Project:】下找到

2.使用命令:activate 環境名,例如:

activate learn

3.進入想要存放 scrapy 項目的目錄下 【注意】

4.建立項目:scrapy startproject xxx項目名,例如:

scrapy startproject new_project

5.操作:

6.在檔案總管開啟該目錄,就會發現產生了好幾個檔案

7.使用 Pycharm 開啟項目所在目錄就可以了

Scrapy 爬蟲架構項目的開發

0.使用 Pycharm 開啟項目,:

項目的開發的大致流程:

地址 spider/xxspider.py 負責分解,提取下載的資料

1.明確需要爬取的目標/產品:編寫 item.py

2.在 spider 目錄下載建立 python 檔案製作爬蟲:

3.儲存內容:pipelines.py

Pipeline.py 檔案

當 spider 對象被關閉的時候調用

spider 對象對開啟的時候調用

進行一些必要的參數初始化

spider 提取出來的 item 作為參數傳入,同時傳入的還有 spider

此方法必須實現

必須返回一個 Item 對象,被丟棄的 item 不會被之後的 pipeline

對應 pipelines 檔案

爬蟲提取出資料存入 item 後,item 中儲存的資料需要進一步處理,比如清洗,去蟲,儲存等

Pipeline 需要處理 process_item 函數

process_item

_ init _:建構函式

open_spider(spider):

close_spider(spider):

Spider 目錄

對應的是檔案夾 spider 下的檔案

_ init _:初始化爬蟲名稱,start _urls 列表

start_requests:產生 Requests 對象交給 Scrapy 下載並返回 response

parse:根據返回的 response 解析出相應的 item,item 自動進入 pipeline:如果需要,解析 url,url自動交給 requests 模組,一直迴圈下去

start_requests:此方法盡能被調用一次,讀取 start _urls 內容並啟動迴圈過程

name:設定爬蟲名稱

start_urls:設定開始第一批爬取的 url

allow_domains:spider 允許去爬的網域名稱列表

start_request(self):只被調用一次

parse:檢測編碼

log:日誌記錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.