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 [dir]

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

此时,在D:\pycodes\文件夹中新建了一个文件夹 python123demo
在这里插入图片描述

查看工程文件夹

外层目录:
在这里插入图片描述
python代码文件夹:
Python爬虫学习 10 —— Scrapy爬虫的实例_第1张图片
Python爬虫学习 10 —— Scrapy爬虫的实例_第2张图片



二、在工程中产生一个Scrapy爬虫

输入命令

格式:scrapy genspider [options]

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

D:\pycodes\python123demo>scrapy crawl demo

此时,爬虫运行,捕获页面,存储在D:\pycodes\python123demo\demo.html中,可以把它拖入浏览器查看结果:
在这里插入图片描述



第10篇python爬虫学习笔记完结啦 cheers ??

你可能感兴趣的:(Python网络爬虫,python网络爬虫,scrapy)