Python爬虫框架Scrapy介绍加实战项目
Scrapy框架是异步处理框架,可配置和可扩展程度非常高,是Python中使用最广泛的爬虫框架,这个框架非常的强大,几乎能用来配合任何爬虫项目。
项目要求:爬取腾讯招聘上的招聘信息(链接: link.)
爬取数据要求:需要爬取,职位名称、职位链接、职位类别、招聘人数、工作地点、发布时间
简单介绍一下楼主的的环境 python3.6.4 + Windows +Anacodnda 4.4.10
1.开始一个 Scrapy 项目
安装 Scrapy : 在Windows中使用Anacodnda安装是最方便的,不知道Anacodnda的自己百度
Anacodnda中安装命令:conda install scrapy
cmd::建议安装pip 使用 pip install Scrapy安装项目 (注意权限问题)
Linux环境下:sudo pip3 install Scrapy (需要下面配置响应的依赖环境)
Mac OS:下载安装包,配置环境变量
在安装成功后就可以开始自己的第一个Scrapy项目
在(Anacodnda)终端命令下输入:scrapy startproject 项目名称 可以新建项目
(base) C:\Users\Python>scrapy startproject Tengxun
命令执行后,会创建一个Tencent文件夹,结构如下
Tengxun/
├── scrapy.cfg #项目基本配置文件,不用修改
└── Tengxun
├── __init__.py #项目初始化函数,可以用来配置项目环境,导入模块
├── items.py # 定义爬取数据的结构
├── middlewares.py # 下载器中间件和蜘蛛中间件实现
├── pipelines.py # 处理数据
├── settings.py # 项目全局配置
└── spiders # 存放自己爬虫程序
├── __init__.py
2.根据项目要求编写items.py文件,根据需要爬取的内容定义爬取字段
import scrapy
class TengxunItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
# 职位名称
zhName = scrapy.Field()
# 职位链接
zhLink = scrapy.Field()
# 职位类别
zhType = scrapy.Field()
# 招聘人数
zhNum = scrapy.Field()
# 工作地点
zhAddress = scrapy.Field()
# 工作时间
zhTime = scrapy.Field()
'''scrapy.Field()是用来创建需要爬取字段,可以接受的值没有任何限制,设置Field对象
的主要目就是在一个地方定义好所有的元数据'''
3.进入Tencent目录,使用命令创建一个基础爬虫类并编写:
(base