美文网首页
关于 scrapy 基础操作

关于 scrapy 基础操作

作者: Vissioon | 来源:发表于2017-09-26 11:18 被阅读10次
    • pip 换源
      国外的源实在是太慢了

      在终端进入目录:cd~/.pip (如果没有.pip 文件夹,那么就要自己创建)
      编辑 pip.conf 文件 (同上)

      写入阿里云镜像

      [global]
      
      index-url = http://mirrors.aliyun.com/pypi/simple/
      
      [install]
      
      trusted-host=mirrors.aliyun.com
      

      或者写入豆瓣镜像

      [global]
      
      index-url = http://pypi.douban.com/simple
      
      [install]
      
      trusted-host=pypi.douban.com
      
    • pip 安装 scrapy

      pip install scrapy
      
    • spider 模板

      import scrapy
      
      class Spider(scrapy.spider.Spider):
          name = "spider"    #唯一标识,启动spider时即指定该名称
          allowed_domains = ["www.baidu.com"]
          start_urls = [
              "http://www.baidu.com
          ]
      
          def parse(self, response):
              with open(filename, 'wb') as f:
                  f.write(response.body)
      
    • spider 启动

      scrapy crawl spider
      
    • xPath 语法

      选取节点

    表达式 描述
    node 选取此节点的所有子节点
    / 从根节点选取
    // 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置
    . 选取当前节点
    .. 选择当前节点的父节点
    @ 选取属性

    谓语

    表达式 描述
    /node/td[1] 选取 node 下面的第一个 td 元素
    /node/td[last()] 选取 node 下面的最后一个 td 元素
    /node/td[last()-1] 选取 node 下面的倒数第二个 td 元素
    /node/td[position()<3] 选取 node 下面的前两个 td 元素
    //node[@attr] 选取所有拥有名为 attr 的属性的 node 元素
    //node[@attr='value'] 选取所有拥有名为 attr 且值为 value 的属性的 node 元素
    /node/td[size>10] 选取 node 下面所有 size 属性值大于10的 td 元素
    /node/td[size>10]/span 选取 node 下面所有 size 属性值大于10的 td 元素下面的 span 元素

    未知节点

    表达式 描述
    * 匹配任何元素节点
    @* 匹配任何属性节点
    node() 匹配任何类型节点

    相关文章

      网友评论

          本文标题:关于 scrapy 基础操作

          本文链接:https://www.haomeiwen.com/subject/butsextx.html