Scrapy的入门

参考博客:(28条消息) Scrapy爬虫框架,入门案例(非常详细)ck784101777的博客-CSDN博客scrapy

Scrapy框架主要由五大组件组成,分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。

Scrapy项目的准备工作

  • 新建虚拟环境

conda create -n spider python=3.6.3
  • 激活环境

conda activate spider
  • 安装Scrapy

conda install scrapy
  • Scrapy项目的生成

     1.建立项目文件

scrapy startproject 项目名
  1. 建立爬虫文件

scrapy genspider 爬虫名 域名
  1. 运行爬虫文件

scrapy crawl 爬虫名
  • 对spdier项目的配置文件进行修改,打开文件settings.py

  1. BOT_NAME:项目名

  2. USER_AGENT:索要爬取网站的USER_AGENT。默认是注释的,这个东西非常重要,如果不写很容易被判断为电脑,简单点写一个Mozilla/5.0即可

  3. ROBOTSTXT_OBEY:是否遵循机器人协议,默认是true,需要改为false,否则很多东西爬不了

  4. CONCURRENT_REQUESTS:最大并发数,很好理解,就是同时允许开启多少个爬虫线程

  5. DOWNLOAD_DELAY:下载延迟时间,单位是秒,控制爬虫爬取的频率,根据你的项目调整,不要太快也不要太慢,默认是3秒,即爬一个停3秒,设置为1秒性价比较高,如果要爬取的文件较多,写零点几秒也行

  6. COOKIES_ENABLED:是否保存COOKIES,默认关闭,开机可以记录爬取过程中的COKIE,非常好用的一个参数

  7. DEFAULT_REQUEST_HEADERS:默认请求头,上面写了一个USER_AGENT,其实这个东西就是放在请求头里面的,这个东西可以根据你爬取的内容做相应设置。

  8. ITEM_PIPELINES:项目管道,300为优先级,数字越小爬取的优先度越高

  9. 可以设置日志的等级与日志存放的路径。LOG_LEVEL= "" LOG_FILE="日志名.log"。日志等级分为:1.DEBUG 调试信息;2.INFO 一般信息;3.WARNING 警告;4.ERROR 普通错误;5.CRITICAL 严重错误

    如设置 LOG_LEVEL="WARNING",就只会WARNING等级之下的ERROR和CRITICAL      默认等级是1

代码编写

打开项目下的爬虫py文件,如可以使用xpath提取百度首页的标题title

代码的运行可以选择

  1. 打开终端cmd,输入

    scrapy crawl baidu(爬虫名)

  2. 写一个run文件作为程序的入口,split是必须写的,目的是把字符串转为列表形式,第一个参数是scrapy,第二个crawl,第三个baidu(爬虫名)

导出为json或scv格式

使用run.py执行爬虫文件时添加-o选项即可

scrapy crawl 项目名 -o 文件名.csv

scrapy crawl 项目名 -o 文件名.json

对于json文件,在setting.js文件里添加,设置编码格式,否则会乱码:`FEED_EXPORT_ENCODING='utf-8'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值