美文网首页
关于 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