7. scrapy 框架

1.requests与scrapy对比
| requests | scrapy |
|---|---|
| 页面级爬虫 | 网站级爬虫 |
| 功能库 | 框架 |
| 并发性考虑不足,性能较差 | 并发性好,新能较高 |
| 重点在于页面下载 | 重点在于爬虫结构 |
| 定制灵活 | 深度定制困难 |
2. scrapy命令行格式
sctapy<command>[options][args]
3. scrapy常用命令
- startproject:创建一个新工程
- genspider:创建一个爬虫
- settings:获取爬虫配置信息
- crawl:运行一个爬虫
- list:列出工程中的所有爬虫
- shell:启动url调试命令行
8. scrapy 使用步骤
1.建立一个scrapy爬虫工程
(base) C:\Users\Ran>scrapy startproject python123demo
New Scrapy project 'python123demo', using template directory 'd:\anaconda
\lib\site-packages\scrapy\templates\project', created in:
C:\Users\Ran\python123demo
You can start your first spider with:
cd python123demo
scrapy genspider example example.com
2. 在工程中产生一个scrapy爬虫
(base) C:\Users\Ran>cd python123demo
(base) C:\Users\Ran\python123demo>scrapy genspider demo python123.io
Created spider 'demo' using template 'basic' in module:
python123demo.spiders.demo
3. 配置产生的spider
修改新创建的文件夹(地址如第一步命令行所示)下的spider文件夹下的 新的p文件(py文件名如第二部第二行所示(genspider的下一个单词))。代码如下:
# -*- coding: utf-8 -*-
import scrapy
class DemoSpider(scrapy.Spider):
name = "demo"
#allowed_domains = ['python123.io']
start_urls = ['http://python123.io/wa/demo.html']
def parse(self, response):
fname = response.url.split('/')[-1]
with open(fname,'wb') as f:
f.write(response.body)
self.log('Saved file %s.' % fname)
4. 运行爬虫以获取页面
(base) C:\Users\Ran\python123demo>scrapy crawl demo
运行后可以看到,在‘python123demo’目录下生成了 demo.html 文件



Comments | 1 条评论
我来试试看能不能发评论