scrapy项目搭建
目录中文文档
https://docs.pythontab.com/scrapy/scrapy0.24/index.html
一、scrapy运行原理
Scrapy主要有以下组件:
- 引擎(Scrapy Engine)
- Item 项目
- 调度器(Scheduler)
- 下载器(Downloader)
- 爬虫(Spiders)
- 项目管道(Pipeline)
- 下载器中间件(Downloader Middlewares)
- 爬虫中间件(Spider Middlewares)
- 调度中间件(Scheduler Middewares)
二、工程搭建流程
1、创建一个爬虫专用的解析器环境,用于存放爬虫相关的依赖包
2、新建爬虫项目
# 会在当前目录下初始化工程
scrapy startproject 工程名
3、生成一个爬虫
# 在爬虫工程下初始化一个爬虫
cd 工程名
scrapy genspider one "one.cn"
4、打开工程,配置虚拟解释器环境
5、在命令中运行爬虫scrapy crawl 爬虫名
(指的是步骤3中的one)
5.1、在pycharm中运行爬虫
【新建run.py】
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from scrapy import cmdline
if __name__ == '__main__':
cmdline.execute("scrapy crawl demo".split())
三、数据抓取步骤
爬虫框架的具体使用步骤如下:
- 选择目标网站
- 定义要抓取的数据(通过Scrapy Items来完成的)
- 编写提取数据的spider
- 执行spider,获取数据
- 数据存储
四、 目录文件说明
当我创建了一个scrapy项目后,继续创建了一个spider,目录结构是这样的:
下面来简单介绍一下各个主要文件的作用:
scrapy.cfg :项目的配置文件
projectname/ :项目的Python模块,将会从这里引用代码
projectname/items.py :项目的目标文件
projectname/pipelines.py :项目的管道文件
projectname/settings.py :项目的设置文件
projectname/spiders/ :存储爬虫代码目录
五、基础配置修改
【settings.py】
# 不遵守机器人规则
ROBOTSTXT_OBEY = False
# 添加user-agent请求头用户代理(基本反爬操作)
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
标签:__,项目,projectname,py,爬虫,scrapy
From: https://www.cnblogs.com/hhddd-1024/p/16742628.html