Scrapy 入门:Hello Scrapy

scrapy install

  • 官方文档方式 
    其实如今scrapy 的文档作的挺好, 安装文档在首页就有 点我点我。 
    下面说说个人另类安装方法,我说这个方法,在某些方面有优点,但不是绝对优点,利弊本身取舍。css

  • Windows 自定义安装 
    python

    1. 打开 https://pypi.python.org 。json

    2. 在页面的搜索框中输入 scrapy, 开始搜索,找到最新的版本,我这个时候是https://pypi.python.org/pypi/Scrapy/1.0.3bootstrap

    3. 翻页到页面的最底部,找到 Requires Distributions 部分,看看都有啥,我这里的是:Twisted(>=10.0.0),w3lib (>=1.8.0), queuelib, lxml, pyOpenSSL, cssselect (>=0.9), six (>=1.5.2), service-identity。dom

    4. 对于上面的依赖,依次尝试 5,6步。scrapy

    5. 在 cmd 下面执行命令 pip install xxxx, 若是提示安装成功, 跳过第6步,接着安装下一个。ide

    6. 去 Google 搜索 xxxx msi {version} 这里的version请填写知足依赖条件的版本号, 认准了 pypi.python.org 的域名,点进去,找到msi的下载包,下载下来进行安装。ui

    7. 到这里,依赖已经安装完毕,执行 pip install scrapy。若是最后提示成功,说明你的安装成功了。url

  • Ubuntu 自定义安装 
    spa

    1. Ubuntu 安装最简单的方式固然是官方的 ppa 安装了啊。

    2. Ubuntu 经过pip 安装 最重要的是 pip 须要的各类库:

apt-get install -y python-dev gcc  libxml2-dev libxslt1-dev libffi-dev python-pip 
pip install -U pip
pip install lxml twisted cryptography
pip install scrapy

  • Mac 自定义安装

pip install scrapy

scrapy bootstrap

装好以后,固然就是 hello-scrapy 的时间了。 
使用下列命令新建一个工程:

scrapy startproject Demo

使用下列命令进入目录,而后新建一个 Spider 来工做,这里是使用的名称为 MeiSpider, 抓取 bj.meituan.com 的数据。

cd Demo
scrapy genspider MeiSpider bj.meituan.com

执行以后的目录结构以下:

.
├── Demo
│   ├── __init__.py
│   ├── items.py            # item
│   ├── pipelines.py        # pipeline
│   ├── settings.py         # project setting file
│   └── spiders
│       ├── __init__.py    
│       └── MeiSpider.py    # genspider generatored spider file
└── scrapy.cfg              # configuration file

2 directories, 10 files

查询下如今的 spiders,

$ scrapy list
MeiSpider # 刚刚新建的 MeiSpider

在项目 Demo 下面的 spiders 目录中就有了咱们刚生成的 MeiSpider.py 文件,打开这个文件,看看内容:

# -*- coding: utf-8 -*-
import scrapy


class MeispiderSpider(scrapy.Spider):
   name = "MeiSpider"
   allowed_domains = ["bj.meituan.com"]
   start_urls = (
       'http://www.bj.meituan.com/',
   )

   def parse(self, response):
       pass

注意一下, 生成的代码里面的 start_urls 中的 url 有错误,咱们手动改为 bj.meituan.com 。 
若是你火烧眉毛的想尝试下效果,能够试试这个:

scrapy crawl MeiSpider --nolog

哈哈,是否是什么结果也没有! 对啊, 由于咱们还没告诉 Spider 该怎么工做。这个就是 Spider 中 parse 方法的做用了, 咱们尝试把 parse 改为这样

def parse(self, response):
   return {'desc', 'hello scrapy'"url": response.url}

接着运行 scrapy crawl MeiSpider -t jsonlines --nolog -o - 是否是颇有意思,出来告终果了,这样,一个简单的 Hello-Scrapy 就完成了。

相关文章
相关标签/搜索