scrapy实战一

scrapy是什么?

“Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。”–官方说法。
个人理解:爬取网页数据,并将抓到的数据结构化,你只需关心你自己的爬取逻辑和页面数据的提取逻辑,其他的事情,框架都帮你做了。

安装scrapy

yum -y update
yum groupinstall -y development
yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel libffi-devel python-devel libxslt-devel
cd /pkg
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python setup.py install
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python -
pip install scrapy

执行scrapy version

[root@jianzhi-dev ~]# scrapy version
2015-12-15 09:04:30 [scrapy] INFO: Scrapy 1.0.3 started (bot: scrapybot)
2015-12-15 09:04:30 [scrapy] INFO: Optional features available: ssl, http11
2015-12-15 09:04:30 [scrapy] INFO: Overridden settings: {
   }

看到类似上面的代码,说明装好了。

框架结构简介

执行scrapy startproject pn,其中pn是项目名,你可以根据你的实际项目取你自己的名字,执行完以后,在当前目录下,会生成pn目录,目录结构如下
.
├── pn
│ ├── init.py
│ ├── items.py //定义数据结构的地方,你抓取页面,将数据结构化,就用到它
│ ├── pipelines.py //抓取最后变成的item,都会经过pipelines处理,比方说将item保存到mysql
│ ├── settings.py //系统配置,比如控制抓取的速度等
│ └── spiders //写抓取逻辑的地方
│ └── init.py
└── scrapy.cfg

开始第一个简单的例子

该例子完成的任务是抓取搜索刘德华后的百科页面中得url和标题

定义数据结构,在items.py文件里

class PnItem(scrapy.Item):
    title = scrapy.Field()
    url = scrapy.Field()

创建自己的爬去逻辑类

cd spiders/
vim pn_spider.py

# -*- coding: UTF-8 -*-
import scrapy
from pn.items import PnItem

class PnSpider(scrapy.spiders.Spider):
    name = "pn"
    start_urls = [
        "http://baike.baidu.com/searchword/?pic=1&fr=tieba&word=%E5%88%98%E5%BE%B7%E5%8D%8E&ie=utf-8"
    ]

    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值