scrapy install- 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 自定义安装
scrapy bootstrap装好之后,当然就是 hello-scrapy 的时间了。
使用下列命令新建一个工程 使用下列命令进入目录,然后新建一个 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 就完成了。
|