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