1.新建一个项目

scrapy startproject dmozspider

会在当前目录创建一个dmozspider的文件夹,包含一系列文件
scrapy.cfg:项目的配置文件
tutorial/:项目的Python模块,将会从这里引用代码
tutorial/items.py:项目的items文件
tutorial/pipelines.py:项目的pipelines文件
tutorial/settings.py:项目的设置文件
tutorial/spiders/:存储爬虫的目录

2.修改tutorial目录下的items.py文件,在原本的class后面添加我们自己的class。
因为要抓dmoz.org网站的内容,所以我们可以将其命名为DmozItem:
代码如下

import scrapy

class TutorialItem(scrapy.Item):    # define the fields for your item here like:    # name = scrapy.Field()    pass

class DmozItem(scrapy.Item):      title = scrapy.Field()      link = scrapy.Field()     desc = scrapy.Field() 

3.制作爬虫
第一只爬虫,命名为dmoz_spider.py,保存在tutorial\spiders目录下
dmoz_spider.py代码如下:

from scrapy.spider import Spider  from scrapy.selector import Selector   from dmozspider.items import DmozItem 

class DmozSpider(Spider):      name = "dmoz"      allowed_domains = ["dmoz.org"]      start_urls = [          "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",          "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"      ]  

    def parse(self, response):          sel = Selector(response)          sites = sel.xpath('//div[@class="title-and-desc"]')         items=[]        for site in sites:            item=DmozItem()            item['title']=site.xpath('a/div/text()').extract()             item['link']=site.xpath('a/@href').extract()              item['desc']=site.xpath('div/text()').extract()             title =item['title']            link = item['link']             desc = item['desc']            items.append(item)        return items

4.进入到dmozspider目录,运行

scrapy crawl dmoz

5.存储内容(Pipeline)
保存信息的最简单的方法是通过Feed exports,主要有四种:JSON,JSON lines,CSV,XML。
我们将结果用最常用的JSON导出,命令如下:

scrapy crawl dmoz -o items.json -t json  

参考网址:http://blog.csdn.net/pleasecallmewhy/article/details/19642329
http://doc.scrapy.org/en/latest/topics/selectors.html#topics-selectors

scrapy抓取dmoz内容相关推荐

  1. python scrapy 抓取脚本之家文章(scrapy 入门使用简介)

    老早之前就听说过python的scrapy.这是一个分布式爬虫的框架,可以让你轻松写出高性能的分布式异步爬虫.使用框架的最大好处当然就是不同重复造轮子了,因为有很多东西框架当中都有了,直接拿过来使用就 ...

  2. python怎么爬虎牙_使用python爬虫框架scrapy抓取虎牙主播数据

    前言 本文利用python的scrapy框架对虎牙web端的主播.主播订阅数.主播当前观看人数等基本数据进行抓取,并将抓取到的数据以csv格数输出,以及存储到mongodb中 思路 观察虎牙网站后确认 ...

  3. 解决Scrapy抓取中文网页保存为json文件时中文不显示而是显示unicode的问题

    注意:此方法跟之前保存成json文件的写法有少许不同之处,注意区分 情境再现: 使用scrapy抓取中文网页,得到的数据类型是unicode,在控制台输出的话也是显示unicode,如下所示 {'au ...

  4. Scrapy抓取豆瓣电影

    零.说明 这个例子爬取了豆瓣top250电影,并把这些电影的某些属性保存到mysql中,具体的url是这个:https://movie.douban.com/top250. 一.环境 python3. ...

  5. 逆向爬虫18 Scrapy抓取全站数据和Redis入门

    逆向爬虫18 Scrapy抓取全站数据和Redis入门 一.全站数据抓取 1. 什么是抓取全站数据? 我们曾经在过猪八戒,图片之家,BOSS直聘等网站,利用网站官方提供的搜索功能,搜索指定关键词的内容 ...

  6. 使用scrapy抓取传智播客c/c++讲师信息

    实验一.scrapy爬虫 一.实验目的 1.数据抓取之网络爬虫. 2.scrapy的使用方法,能使用scrapy抓取网页数据. 二.能力图谱 三.实验内容 1.内容:爬取传智播客C/C++讲师的姓名. ...

  7. Python进阶之Scrapy抓取苏宁图书数据

    Python进阶之Scrapy抓取苏宁图书数据 1. 需求 2. 代码示例: 创建项目 start.py settings.py iterms.py snb.py pipelines.py 3. 注意 ...

  8. scrapy抓取苏宁所有图书并保存到数据库

    scrapy抓取苏宁所有图书 采用mongodb存储爬取图书数据,爬取苏宁全网图书信息(图书名,图书所属详细分类商店,价格) 注意 需要根据苏宁图书网页分类建立相应分类 图书详情页每页有60条图书数据 ...

  9. apache httpclient 工具类_Java教程分享使用HttpClient抓取页面内容

    Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求 1.简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提 ...

最新文章

  1. Cacti Nagios Squid三个工具的一些区别
  2. 启用 SR-IOV 解决 Neutron 网络 I/O 性能瓶颈
  3. 蓝桥杯 如何计算 X^X = 10 来求X呢?
  4. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
  5. 启动转换安装失败 拷贝windows安装文件时出错_男人的生产力工具:极速拷贝 效率神器 TeraCopy精品推荐...
  6. Bringing up interface eth2: Error: No suitable device found: no device found for connection 'System
  7. python 模块与包_Python 模块与包
  8. vue对象拼接_vue 俩个数组对象合并成一个
  9. 2020 OPPO 开发者大会重磅推出 ColorOS 11,适配机型达 33 种
  10. 随笔 2016-1-4
  11. 亲自体验了vscode网页版开发代码并提交代码到github代码库,发现出奇的流畅,手机和平板也可以很愉快的编写代码了
  12. JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
  13. c语言 gets getc,6.16 C语言,getchar gets getc有什么区别 分别是表示什么的
  14. 工厂模式与抽象工厂模式
  15. 使用diskpart命令修复损坏的U盘
  16. java定义贵宾卡等级_会员卡分成那几个级别,分别有什么叫法
  17. GCP 搭建 tg代理 MTG
  18. 内核管理 之 编译内核操作流程 ──为新手指南
  19. 软考复习-软件工程05-软件项目估算进度管理
  20. html5手机不能自动播放音乐,解决 iPhone 微信 H5 无法自动播放音乐问题

热门文章

  1. 马云的“野心”,阿里的区块链布局
  2. 请这样爱你的移动硬盘
  3. html假蓝屏死机源码,100秒内蓝屏死机的脚本源代码
  4. html微信网页字体被放大问题
  5. word如何设置上标形式_word上标形式
  6. 上标及下标 Unicode
  7. 背单词-项目设计文档
  8. 2020-01-03 KK日记,第一次进行postgresql 11.5+pgpool 安装
  9. 游戏辅助制作核心--植物大战僵尸逆向之阳光生产加速实现满天星(四)1
  10. 【C语言】让你不再害怕指针——C指针详解(经典,非常详细)