scrapy框架学习

框架功能:
高性能持久化存储,异步数据下载,高性能数据解析,分布式,

scrapy框架

环境的安装

mac or linux:

pip install scrapy

windows:

  • pip install wheel
  • 下载twisted,下载地址为http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
  • 安装twisted:pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl
  • pip install pywin32
  • pip install scrapy
    测试:在终端里录入scrapy指令,没有报错即表示安装成功!

基本使用

setting.py:
ROBOTSTXT_OBEY= TRUE #可以忽略或者不遵守robots协议
USER_AGENT= #伪装(浏览器)请求载体身份
LOG_LEVEL=“ERROR” #错误日志

scrapy使用流程:

  • 创建工程:
    scrapy startproject ProName
  • 进入工程目录:
    cd ProName
  • 创建爬虫文件:
    scrapy genspider spiderName www.xxx.com
  • 编写相关操作代码
  • 执行工程:
    scrapy crawl spiderName
    scrapy crawl spiderName --nolog #不打印日志

shell终端交互

  • 简介
    Scrapy shell也称"Scrapy终端",是一个交互终端,使我们可以在未启动spider爬虫的情况下尝试及调试代码。
    更为方便的是,我们也可以直接用来测试XPath或CSS表达式,而不用import导入相应模块。通过查看其运行的结果,方便了我们分析目标网页,并从中测试我们的表达式是否提取到了数据。

  • Scrapy内置的Selector选择器
    在Scrapy中使用xpath或是CSS等,之所以不用再导入第三方包,是因为在Scrapy中已内置了相应的Selector选择器。

  • Selector有四个基本的方法

    1. xpath( )
      我们通过书写xpath表达式,可使程序返回该表达式所对应的所有节点的selector list选择器列表,从而筛选我们想要定位的元素。
    2. extract( )
      序列化节点为Unicode字符串,并返回list列表。
    3. css( )
      根据css表达式,返回该表达式所对应的所有节点的selector list选择器列表,语法和 BeautifulSoup4相同。
    4. re( )
      根据书写的正则表达式,对数据进行提取,返回Unicode字符串list列表。

持久化存储

基于终端指令

  • 只可将parse方法返回值存储到本地的文本文件
  • 持续化存储对应的文本文件类型:
    json/csv/xml/jsonlines/jl/pickle/marshal
  • 指令
    scrapy crawl spiderName -o filePath
  • 优缺点
    高效便捷,局限性(只可存储到指定后缀的文本文件中)

基于管道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值