【Python | 邊學邊敲邊記】第四次:初識爬蟲框架Scrapy
一、前言
本系列上一篇:【Python | 邊學邊敲邊記】第三次:URL去重策略
今天給大家分享的是,Python裡的爬蟲框架Scrapy學習,包含python虛擬環境的搭建、虛擬環境的使用、Scrapy安裝方法詳解、Scrapy基本使用、Scrapy專案目錄及內容基本介紹,let's go!
二、Python爬蟲框架Scrapy簡介
推薦檢視Scrapy中文幫助文件:點選
閱讀原文
靜下心來學習!
1
# 維基百科看Scrapy
2
'''
3
Scrapy(SKRAY -pee)是一個免費和開源 網路爬行 框架 Python編寫的。最初設計用於Web抓取,它還可
4
以用於使用API或作為通用Web爬網程式提取資料。它目前由網路抓取開發和服務公司Scrapinghub Ltd.維護
5
。
6
Scrapy專案體系結構是圍繞“Spider”構建的,它們是自包含的爬蟲,可以獲得一組指令。遵循其他框架的精
7
神,不重複自己的框架,例如Django,它允許開發人員重用他們的程式碼,從而更容易構建和擴充套件大型爬行項
8
目。Scrapy還提供了一個Web爬行shell,開發人員可以使用它來測試他們對站點行為的假設。
9
(英譯漢有點尷尬!真的想學,還是好好看上面的幫助文件吧)
10
'''
三、看程式碼,邊學邊敲邊記虛擬環境、Scrapy框架
1.新建一個虛擬環境
下面 操作之前你需要準備好:
(1) 你的
python
版本是3.x,最好系統裡只有一個python環境,後面所有學習筆記都基於
py3
的。
(2)
python
環境裡先安裝
virtualenv
模組,基本方法
pip install virtualenv
。
(3)選擇好虛擬環境的安裝目錄(我選的是H盤目錄下的
env
資料夾,建議你選的目錄路徑裡最好不要有中文)。
1
PS H:\env\> virtualenv spiderenv
2
Using base prefix 'c:\\users\\82055\\appdata\\local\\programs\\python\\python36'
3
New python executable in H:\env\spiderenv\Scripts\python.exe
4
Installing setuptools, pip, wheel...done.
5
注: 如果系統中有兩個python環境(py2和py3),新建基於py3的虛擬環境方法
6
virtualenv -python=你的Python3安裝目錄(精確到python.exe) spiderenv(虛擬環境名稱)
安裝完成後再自己選擇的目錄下會多出一個資料夾(虛擬環境),我這裡為
H:\env\spiderenv
,後面所有爬蟲學習過程中需要的模組、介面都將
pip
(安裝)在裡面。
2.開啟虛擬環境,安裝Scrapy框架
進入到目錄
H:\env\spiderenv\Scripts
(我的虛擬環境目錄),按住
shift
+滑鼠右鍵,開啟
powershell
或者
cmd
(如果是
powershell
就先輸入
cmd
),再輸入
activate
,進入虛擬環境,你會發現在路徑前面多了一個括號裡面是你的虛擬環境名稱,表示你進入了虛擬環境。具體看下面:
1
# 注:開啟powershell 的可以參照下面操作
2
PS H:\env\spiderenv\Scripts> cmd
3
Microsoft Windows [版本 10.0.17134.112]
4
(c) 2018 Microsoft Corporation。保留所有權利。
5
6
H:\env\spiderenv\Scripts>activate
7
(spiderenv) H:\spiderenv\Scripts>
安裝
scrapy
模組(下面操作都是在虛擬環境下):
方法一:直接pip安裝(最簡單,安裝慢,可能出錯)
1
pip install scrapy
方法二:輪子(wheel)安裝(比較簡單,安裝速度還可以,基本不出錯)
點選這裡下載scrapy的
.whl
檔案,然後移動到你的虛擬環境目錄下(比如我的就移動到
H:\env\spiderenv\Scripts
),
1
pip install Scrapy-1.5.1-py2.py3-none-any.whl
方法三:豆瓣源安裝(比較簡單,安裝速度快,方便,推薦)
1
pip install -i
3.快速進入虛擬環境方法
安裝
virtualenvwrapper
模組,用於管理我們所建的虛擬環境
1
# windows下安裝方法
2
pip install virtualenvwrapper-win
3
# 其他環境下安裝
4
pip install virtualenvwrapper
安裝完成後,開啟
控制皮膚
- >
系統
->
高階系統設定
- >
環境變數
->
系統變數
->
新建
,在
新建系統環境變數對話方塊
中輸入如下
1
變數名:WORKON_HOME
2
變數值:你的虛擬環境安裝目錄
3
比如:我的虛擬環境spiderenv安裝在H:\env目錄下,我的變數值就為:H:\env\
4
注:變數值最後一定要以 \ 結尾,不然可能不會產生效果。
cmd
執行下面命令,即可簡單快速進入虛擬環境:
1
PS C:\Users\82055\Desktop> cmd
2
Microsoft Windows [版本 10.0.17134.112]
3
(c) 2018 Microsoft Corporation。保留所有權利。
4
5
C:\Users\82055\Desktop>workon
6
7
Pass a name to activate one of the following virtualenvs:
8
==============================================================================
9
spiderenv
10
11
C:\Users\82055\Desktop>workon spiderenv
12
(spiderenv) C:\Users\82055\Desktop>
13
# 註釋:成功進入,退出虛擬環境命令為 : deactivate
4.建立一個基於Scrapy框架的專案
1
# 進入到自己的專案存放目錄
2
(spiderenv) H:\env>cd H:\spider_project
3
4
# 使用scrapy命令建立一個新工程
5
(spiderenv) H:\spider_project>scrapy startproject spider_bole_blog
6
7
New Scrapy project 'spider_bole_blog', using template directory 'h:\\env\\spiderenv\\
8
lib\\site-packages\\scrapy\\templates\\project', created in:
9
H:\spider_project\spider_bole_blog
10
# 提示建立網站爬蟲命令
11
You can start your first spider with:
12
cd spider_bole_blog
13
scrapy genspider example example.com
建立成功後檔案目錄結構:
1
spider_bole_blog/
2
spider_bole_blog/
3
spiders/
4
__init__.py
5
__init__.py
6
items.py
7
pipelines.py
8
settings.py
9
scrapy.cfg
目錄功能基本介紹:
1
spider_bole_blog/: 該專案的python模組。之後我們將在此加入程式碼。
2
spider_bole_blog/spiders/: 放置spider程式碼的目錄。
3
spider_bole_blog/items.py: 專案中的item檔案。
4
spider_bole_blog/pipelines.py: 專案中的pipelines檔案。
5
spider_bole_blog/settings.py: 專案的設定檔案。
6
scrapy.cfg: 專案的配置檔案。
建立一個
jobbole
(伯樂線上)的爬蟲專案檔案:
1
# 進入專案檔案
2
(spiderenv) H:\spider_project>cd spider_bole_blog
3
4
# 執行命令,建立一個基於Srapy的伯樂線上的爬蟲
5
(spiderenv) H:\spider_project\spider_bole_blog>scrapy genspider jobbole blog.jobbole.com
6
7
Created spider 'jobbole' using template 'basic' in module:
8
spider_bole_blog.spiders.jobbole
執行完成後會在專案的
spiders
目錄下多出一個
jobbole.py
檔案,檔案內容如下:
1
# -*- coding: utf-8 -*-
2
# 編碼
3
import
scrapy
4
# 匯入scrapy包
5
6
#繼承scrapy.Spider的 JobboleSpider 爬蟲類
7
class
JobboleSpider
(scrapy.Spider)
:
8
9
# 用於區別Spider。 該名字必須是唯一的,您不可以為不同的Spider設定相同的名字。
10
name =
'jobbole'
11
12
# 允許下載(訪問)域
13
allowed_domains = [
'blog.jobbole.com'
]
14
15
# 包含了Spider在啟動時進行爬取的url列表。
16
# 因此,第一個被獲取到的頁面將是其中之一。
17
# 後續的URL則從初始的URL獲取到的資料中提取。
18
start_urls = [
'http://blog.jobbole.com/'
]
19
20
# 是spider的一個方法。
21
# 被呼叫時,每個初始URL完成下載後生成的 Response 物件將會作為唯一的引數傳遞給該函式。
22
# 該方法負責解析返回資料(response data),提取資料(生成item)以及生成需要進一步處理的URL
23
# 的 Request 物件。
24
def
parse
(self, response)
:
25
pass
四、後言
今天講的東西涵蓋面還比較廣,特別是虛擬環境管理這塊,
virtualenvwrapper
還有很多命令,很實用,後面會慢慢給大家提及,大家也可以自己百度、谷歌查一下,另外,
Scrapy
模組今天也算正式開始,go on!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556503/viewspace-2216251/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Python | 邊敲邊學邊記】第一次:正規表示式Python
- 【Python | 邊學邊敲邊記】第三次:URL去重策略Python
- 【Python | 邊學邊敲邊記】第二次:深度&&廣度優先演算法Python演算法
- iOS 邊學邊記iOS
- python爬蟲Scrapy框架Python爬蟲框架
- Python爬蟲—Scrapy框架Python爬蟲框架
- Python Scrapy 爬蟲(二):scrapy 初試Python爬蟲
- python 爬蟲對 scrapy 框架的認識Python爬蟲框架
- 寫網路爬蟲的法律邊界爬蟲
- Scrapy爬蟲框架爬蟲框架
- 邊學邊玩CSS GridCSS
- Python爬蟲框架:scrapy爬取高考派大學資料Python爬蟲框架
- Python爬蟲教程-30-Scrapy 爬蟲框架介紹Python爬蟲框架
- python網路爬蟲(14)使用Scrapy搭建爬蟲框架Python爬蟲框架
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- python去除圖片白邊黑邊Python
- Python爬蟲教程-31-建立 Scrapy 爬蟲框架專案Python爬蟲框架
- [學習筆記] 邊學教程邊建“知識付費”應用 第1次總結筆記
- Python3爬蟲(十八) Scrapy框架(二)Python爬蟲框架
- Python爬蟲 ---scrapy框架初探及實戰Python爬蟲框架
- ASP.NET CORE 邊學邊記之 SwaggerUI簡單配置ASP.NETSwaggerUI
- 邊聊邊複製,邊修改邊測試,利用chatgpt用laravel框架做一個部落格應用ChatGPTLaravel框架
- 初識Scrapy框架+爬蟲實戰(7)-爬取鏈家網100頁租房資訊框架爬蟲
- 學好Python不加班系列之SCRAPY爬蟲框架的使用Python爬蟲框架
- 爬蟲框架-scrapy的使用爬蟲框架
- Scrapy爬蟲框架的使用爬蟲框架
- Python爬蟲 --- 2.3 Scrapy 框架的簡單使用Python爬蟲框架
- 【Python篇】scrapy爬蟲Python爬蟲
- Scrapy框架的使用之Scrapy通用爬蟲框架爬蟲
- 邊下載邊播放的播放器Android邊下邊播播放器Android
- 初識“六邊形”架構設計理論架構
- [邊學邊練]用簡單例項學習React單例React
- scrapy 爬蟲利器初體驗(1)爬蟲
- 網路爬蟲抓取邊界的法律與技術思考爬蟲
- Python學習筆記——爬蟲之Scrapy專案實戰Python筆記爬蟲
- 在風變程式設計學習Python,找到了邊玩邊學的樂趣程式設計Python
- 爬蟲初識爬蟲
- Python爬蟲教程-32-Scrapy 爬蟲框架專案 Settings.py 介紹Python爬蟲框架