本文来自网易云社区

作者:沈高峰

数据分析中需要用到的不少数据都是需要进行抓取的,并且需要对抓取的数据进行解析之后存入数据库。
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格式化查看工具

用scrapy数据抓取实践的更多相关文章

  1. 利用python scrapy 框架抓取豆瓣小组数据

    因为最近在找房子在豆瓣小组-上海租房上找,发现搜索困难,于是想利用爬虫将数据抓取. 顺便熟悉一下Python. 这边有scrapy 入门教程出处:http://www.cnblogs.com/txw1 ...

  2. 网页数据抓取工具,webscraper 最简单的数据抓取教程,人人都用得上

    Web Scraper 是一款免费的,适用于普通用户(不需要专业 IT 技术的)的爬虫工具,可以方便的通过鼠标和简单配置获取你所想要数据.例如知乎回答列表.微博热门.微博评论.淘宝.天猫.亚马逊等电商 ...

  3. python爬虫数据抓取方法汇总

    概要:利用python进行web数据抓取方法和实现. 1.python进行网页数据抓取有两种方式:一种是直接依据url链接来拼接使用get方法得到内容,一种是构建post请求改变对应参数来获得web返 ...

  4. python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  5. Python数据抓取(1) —数据处理前的准备

    (一)数据抓取概要 为什么要学会抓取网络数据? 对公司或对自己有价值的数据,80%都不在本地的数据库,它们都散落在广大的网络数据,这些数据通常都伴随着网页的形式呈现,这样的数据我们称为非结构化数据 如 ...

  6. Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)

    概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...

  7. Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)

    概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容.主要是对电脑笔记本以及他们的属性进行抓取,然后在使用nodejs进行下载图片和插入数据库操作. ...

  8. Java实现多种方式的http数据抓取

    前言: 时下互联网第一波的浪潮已消逝,随着而来的基于万千数据的物联网时代,因而数据成为企业的重要战略资源之一.基于数据抓取技术,本文介绍了java相关抓取工具,并附上demo源码供感兴趣的朋友测试! ...

  9. R语言XML包的数据抓取

    htmlParse 函数 htmlParse加抓HTML页面的函数. url1<-"http://www.caixin.com/"url<-htmlParse(url1 ...

随机推荐

  1. 【原创】SQL SERVER 2012安装配置说明(多图详解)

    1. 优先安装软件 1. net framework3.5. 2. 在安装SQL SERVER 2012前需要3.5的支持.在WIN 2012系统可以在系统管理的添加角色和功能中安装,如下将[.NET ...

  2. [转]用jwplayer+Nginx搭建视频点播服务器,解决拖动加载慢的问题

    flv视频可以采用两种方式发布: 一.普通的HTTP下载方式 二.基于Flash Media Server或Red5服务器的rtmp/rtmpt流媒体方式. 多数知名视频网站都采用的是前一种方式. 两 ...

  3. Multi-modal Sentence Summarization with Modality Attention and Image Filtering 论文笔记

     文章已同步更新在https://ldzhangyx.github.io/,欢迎访问评论.   五个月没写博客了,不熟悉我的人大概以为我挂了…… 总之呢这段时间还是成长了很多,在加拿大实习的两个多月来 ...

  4. MAC读取希捷移动硬盘ntfs

    希捷提供了mac读取ntfs磁盘的软件,Paragon. 搜索关键词 "希捷" "mac" 或者通过以下链接进入 https://www.seagate.com ...

  5. 关于安卓手机访问一些网站或者Fiori应用弹出安装证书的提示

    有朋友问遇到在安卓手机上安装Fiori Client,打开的时候提示需要安装证书,如下图所示: 我在自己的Android手机试了试,因为我没有装Fiori Client,所以就用手机浏览器直接访问ht ...

  6. 97: Address family not supported by protocol,nginx服务启动失败

    1.启动nginx服务报错 环境:centos 6.9,yum安装的nginx,启动报错 [root@lnmp ~]# nginx -tnginx: the configuration file /e ...

  7. [pytorch] 官网教程+注释

    pytorch官网教程+注释 Classifier import torch import torchvision import torchvision.transforms as transform ...

  8. dotNetFx40_Client_x86_x64和dotNetFx40_Full_x86_x64这两个有什么区别?两个都要安装还是安装其中一个?

    这个是NET Framework 4.0的安装文件它是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件,很多基于此架构的程序需要它的支持才能够运行.简单的 ...

  9. UbuntuServer14.04+CUDA7.5+CuDNNv3+Caffe+OpenCV3.0+配置

    基本依赖项 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial ...

  10. putty乱码问题

    1.将linux系统编码设置为utf-8 #vi /etc/sysconfig/i18n #设置为如下内容: LANG="en_US.UTF-8" SYSFONT="la ...