Python爬蟲學習 10 —— Scrapy爬蟲的實例

  Scray是一個功能強大且非常快速的爬蟲框架,具體學習它的基本使用。



一、建立一個Scrapy爬蟲工程

首先需要知道cmd的cd命令:

C:\Users\xxx>d:					# 切換到D:
D:\>cd python123demo			# 進入D:\python123demo:
D:\python123demo>cd..			# 回到上一級目錄:
D:\python123demo>cd..			# 回到上一級目錄:
D:\>

新建工程文件夾

在D盤新建文件夾pycodes,輸入命令
格式:scrapy startproject <name> [dir]

C:\Users\xxx>d:
D:\>cd pycodes
D:\pycodes>scrapy startproject python123demo

此時,在D:\pycodes\文件夾中新建了一個文件夾 python123demo
在這裏插入圖片描述

查看工程文件夾

外層目錄:
在這裏插入圖片描述
python代碼文件夾:
在這裏插入圖片描述
在這裏插入圖片描述



二、在工程中產生一個Scrapy爬蟲

輸入命令

格式:scrapy genspider [options] <name> <domain>

D:\pycodes>cd python123demo
D:\pycodes\python123demo>scrapy genspider demo python123.io

查看demo.py
此時,在spider目錄下多了demo.py文件
在這裏插入圖片描述
展示demo.py的內部代碼:

# -*- coding: utf-8 -*-
import scrapy

class DemoSpider(scrapy.Spider):
    name = 'demo' # 當前爬蟲的名字
    allowed_domains = ['python123.io']  # cmd命令最開始提交的域名
    start_urls = ['http://python123.io/'] # scrapy所要爬取的初始頁面

	# 用於處理響應,解析內容形成字典,發現新的URL爬取請求
    def parse(self, response):
        pass


三、配置產生的spider爬蟲

將demo.py代碼修改成這樣子:

# -*- coding: utf-8 -*-
import scrapy

class DemoSpider(scrapy.Spider):
    name = 'demo'
    # 修改url
    start_urls = ['http://python123.io/ws/demo.html']

    def parse(self, response):
    	# 取url最後一部分爲文件名
    	fname = response.url.split('/')[-1]
    	with open(fname, 'wb') as f:
    		f.write(response.body)
    	self.log('Save file %s.' % name)


四、運行爬蟲,獲取網頁

輸入命令

格式:scrapy crawl <name>

D:\pycodes\python123demo>scrapy crawl demo

此時,爬蟲運行,捕獲頁面,存儲在D:\pycodes\python123demo\demo.html中,可以把它拖入瀏覽器查看結果:
在這裏插入圖片描述



第10篇python爬蟲學習筆記完結啦 cheers 🍻🍻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章