zoukankan      html  css  js  c++  java
  • 用scrapy数据抓取实践

    本文来自网易云社区


    作者:沈高峰

    数据分析中需要用到的不少数据都是需要进行抓取的,并且需要对抓取的数据进行解析之后存入数据库。
    scrapy是一个强大的爬虫框架,本文简单介绍下使用scrapy进行垂直抓取的实践。
    scrapy整体构架如下图所示,进行简单网页抓取时,仅仅需要填充Spider和Item Pipeline部分代码就可以了,其他内容,scrapy都会自动处理好。


    安装完scrapy之后,通过下面几条简单的命令就可以生成一个爬虫了。
    scrapy startproject xy3
    cd xy3/
    scrapy genspider dhxy3 xy3.netease.com
    整个工程的目录结构如下:
    ├── scrapy.cfg                   #工程信息
    └── xy3
        ├── __init__.py
        ├── items.py                 #需要解析出来的内容
        ├── pipelines.py             #处理解析出来的items
        ├── settings.py              #爬虫的设置内容
        └── spiders
            ├── dhxy3.py             #解析内容,生成新的请求规则的蜘蛛
            └── __init__.py

    接下来往工程里面填充内容就可以了。
    简单的来说,spider的作用就是生成scrapy.Request、scrapy.Item对象。
    在scrapy.Request中定义回调函数来处理Responses,通过在settings中定义pipelines来处理scrapy.Item。

    下面是一个简单的抓取实例,cd到有 xy3.db 的目录下(xy3/xy3),然后执行 scrapy crawl dhxy3 就可以进行数据的抓取了。
    效果就是将http://xy3.netease.com 这个论坛的列表中的作者和标题字段抓出来,然后存放到sqlite数据库中。



    网易云免费体验馆,0成本体验20+款云产品!

    更多网易研发、产品、运营经验分享请访问网易云社区


    相关文章:
    【推荐】 测试周期内测试进度报告规范
    【推荐】 什么是高防服务器?
    【推荐】 jq 一个强悍的json格式化查看工具

  • 相关阅读:
    windows下postgreSQL安装与启动
    Map、Set、List区别
    责任链模式实战
    Java的URL类(二)
    linux 之分区和文件系统
    linux 之网络命令
    linux 之用户管理
    linux 权限之acl
    我的hadoop学习之路
    Hadoop 学习之Docker
  • 原文地址:https://www.cnblogs.com/zyfd/p/9672664.html
Copyright © 2011-2022 走看看