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 🍻🍻