项目环境Python3.8,scrapy 2.0.1

1、创建一个项目

打开命令提示提示符cmd,定位到需要创建爬虫项目的目录,在cmd中输入创建项目命令scrapy startproject ***

scrapy startproject SpiderDemo

出现下面的提示即说明项目创建成功了:

2、创建一个普通爬虫

按照cmd创建成功的提示,定位到创建成功的目录下,输入创建爬虫命令scrapy genspider xxx “xxx”

scrapy genspider demo_spider "qiushibaike.com"

scrapy genspider有两个参数,第一个是爬虫的名字,名字会在运行爬虫的时候用到;第二个是可以爬取的网站域名。

注意:一定要先定位到创建的项目目录下,在运行创建爬虫命令,不然爬虫文件不能正确创建到项目中
创建成功之后出现如下提示:

这时打开工程目录,就可以在spiders文件下看到创建好的爬虫文件:

3、配置爬虫项目

接下来先对项目进行简单设置,使得爬虫可以正常运行。打开项目目录下的settings.py文件:

① 配置robots协议
根据项目具体需求决定是否要遵守robots协议,不遵守设置为False

② 启用默认请求头DEFAULT_REQUEST_HEADERS

这里默认是没有User-Agent的,需要添加一个,做下伪装,以防被网站识别成爬虫,直接拒绝访问。

③ 爬虫中间件

对爬虫中间件做的配置需要在这里启用,对应工程目录middlewares.py中的SpiderdemoSpiderMiddleware类,后面的值代表多个中间件执行的顺序。

④ 下载中间件

对下载器中间件做的配置需要在这里启用,比如常用的随机请求头、代理ip池等反爬虫措施。对应工程目录middlewares.py中的SpiderdemoDownloaderMiddleware类,后面的值代表多个中间件执行的顺序。

⑤ 多次爬取延迟间隔

两次连续爬取的时间间隔,如果爬虫需要对同一网站进行连续多次访问,建议启用这一项,防止对需要访问的网站的正常访问造成影响,文明爬取。

4、编写第一个爬虫

经过上一步的设置,我们的爬虫就可以正常运行了,接下来打开第二步创建的爬虫,编写我们的爬虫文件:

name:用scrapy genspider命令创建爬虫时输入的爬虫名字,运行爬虫时需要用到;
allowed_domains:用scrapy genspider命令创建爬虫时输入的网站域名,表示允许爬取的网站域名,不再次域名之外的网站会被过滤掉;
start_urls:开始爬取的第一个网站url;
parse:爬取到的网站内容后会调用到这个方法,response代表爬取到的内容。在这个方法里可以对爬取内容进行解析得到需要的数据。

5、运行爬虫

① 命令行运行 在cmd中使用scrapy crawl xxx运行,xxx代表爬虫名字

scrapy crawl demo_spider

② 创建启动文件
创建一个.py文件,导入cmdline,输入启动命令cmdline.execute(‘scrapy crawl xxx’.split()),xxx代表爬虫名字

from scrapy import cmdlinecmdline.execute('scrapy crawl demo_spider'.split())# 等价于第一种方法
# cmdline.execute(['scrapy', 'crawl', 'demo_spider'])

运行此文件即可启动爬虫

6、管道pipeline

当爬取到网页并解析出需要的内容之后,然后就需要将得到的内容保存到本地了。Scrapy提供了pipelines.py和items.py来对得到的内容进行处理

如果要启用pipelines需要在settings.py配置文件打开,后面的数值代表当前pipeline的执行优先级

①在itmes.py中定义需要保存的数据

②在spider中创建item并yield返回给pipeline

③在pipelines.py中处理得到的item

其中process_item是必须实现的方法,其它三个方法不是创建项目时生成的,可以根据需要来使用

Python Scrapy 创建第一个爬虫项目相关推荐

  1. Scrapy框架第一个爬虫项目--汽车之家二手车列表信息抓取

    废话不多说,上代码 1.以下代码为spider文件 import scrapy from car_home.items import che168Itemclass Che168Spider(scra ...

  2. Python入门(安装)——第一个爬虫程序(爬取山东各城市天气信息)

    Python爬虫原来可以这么简单,前两天有个朋友让我帮她看一下爬取天气的一段程序有什么问题,这段程序是用Python写的,只是以前听说Python爬虫很厉害,但是不知道自己怎么会没有时间开始.刚好我也 ...

  3. python scrapy教程实例_爬虫框架Scrapy的第一个爬虫示例入门教程

    原标题:爬虫框架Scrapy的第一个爬虫示例入门教程 我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建 ...

  4. python爬虫框架教程_Python爬虫实战(十二):爬虫框架Scrapy的第一个爬虫示例入门教程...

    本文主要向大家介绍了Python爬虫实战的爬虫框架Scrapy的第一个爬虫示例入门教程,通过具体的内容向大家展现,希望对大家学习Python爬虫实战有所帮助. 我们使用dmoz.org这个网站来作为小 ...

  5. 第一Python第一个爬虫项目

    第一Python第一个爬虫项目 完整代碼 import urllib.request url = "https://www.douban.com" headers = {" ...

  6. [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程

    (建议大家多看看官网教程:教程地址) 我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Proj ...

  7. 爬虫框架Scrapy的第一个爬虫示例入门教程

    我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目 ...

  8. [转载]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程

    我们使用dmoz.org这个网站来作为小抓抓一展身手的对象. 首先先要回答一个问题. 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目 ...

  9. python+Django 完成第一个后端项目--创建投票应用(一)

    接上一部分,利用django创建目录,并成功运行 链接地址:Django 基础,创建一个Django,并成功在网页中运行_劉三岁的博客-CSDN博客 在上节manage.py的同级目录下,创建投票应用 ...

  10. jupyter中怎么把图形在一个单独的窗口显示_【一点小套路】手把手从安装Python到完成第一个数据分析项目...

    上一期的[一点小套路]只是讲了方法论,而没有真正意义上做到一份step by step的教程.所以,尼同学决定,这就给各位零基础的同学做一期手把手教学.全文将会从安装→Jupyter基础→数据分析与建 ...

最新文章

  1. 快讯 | 老黄啊,特斯拉背着你找AMD了,咱可不能给他降价
  2. Linux管道指令(pipe)与shell 重定向的区别
  3. MNIST机器学习入门(学习记录)——1
  4. logstash 吞吐量优化_1002-谈谈ELK日志分析平台的性能优化理念
  5. 数据包接收系列 — NAPI的原理和实现
  6. 有趣的USB接口和颜色分类
  7. 亚信安全助手、杀毒软件卸载
  8. 【Web Design The Missing Link】Handing Error
  9. Eclipse新建Android项目报错解决方案详细汇总
  10. C语言实现定积分的计算
  11. 2018深信服java笔试题_2018校招深信服编程题与面试题
  12. “知识共享”(CC)与开放教育资源(OER)之间的紧密关系
  13. 前端基础之CSS复合选择器
  14. C语言--使用指针实现删除字符串中的空格
  15. 房地产楼盘三维地图带来的便利
  16. mysql sql dateadd_SQL Server Dateadd()函数
  17. Solidity学习记录——第四章
  18. PHP常用系统函数帅哥特供版
  19. 【工业互联网】思科大中华区网络安全事业部技术总监徐洪涛:工业互联网的安全防护思路...
  20. ubuntu虚拟机更改镜像源(中科大或者阿里云镜像源)

热门文章

  1. 团队项目-Recycle需求规格说明书
  2. 永中集成Office2007产品简介
  3. Linux 程序编译过程详解
  4. 红帽认证系统管理员 ― RHCSA
  5. web前端职业生涯路线
  6. GPRS网络继电器(网络开关)介绍
  7. VSCode 摸鱼神器,确定不试一下?
  8. c语言城市交通灯优化,城市智能交通灯系毕业设计论文.doc
  9. Zigbee和wifi信道设置避免同频干扰
  10. python爬去微博签到数据_GitHub - fs6/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...