安装pip install Scrapy

中间可能会遇到的问题:

  • 超时,网络问题需要多次尝试
  • 缺少vc++库,官网可以下载

创建项目:

  • scrapy startproject *****

其中*****是你的项目名

本文中使用tutorial

目录如上图所示

在items.py中写入需要保存的字段

import scrapy

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

上述代码中TutorialItem和项目名对应。这里保留两个字段,链接中的title和link

在spiders文件夹中新建爬虫文件命名随意,本文中命名为dmoz_spider.py

import scrapy

from tutorial.items import TutorialItem

class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["http://www.wust.edu.cn/default.html"]
start_urls = [
"http://www.wust.edu.cn/default.html"
] def parse(self, response):
for sel in response.xpath('//ul/li'):
item = TutorialItem()
item['title'] = sel.xpath('a/text()').extract()
item['link'] = sel.xpath('a/@href').extract()
yield item

这里定义了一个名为dmoz的爬虫,它去找存在于<ul>中的<li>中的<a>标签中的text和href,并将text赋给item中定义的title字段,将href赋给item中定义的link字段。=。=

yield 是用来在迭代时减少内存开销的

此时一个简单的爬虫已经搭建完成,这时我们运行

scrapy crawl dmoz -o result.josn -t json

就可以运行名为dmoz的爬虫,并将结果保存在result.json中,结果如图:

此处默认保存的是Unicode编码

Scrapy爬虫库使用初体验的更多相关文章

  1. Java高级特性1_流库_初体验

    Java高级特性流库_初体验 面对结果编程 在编程里, 有两种编程方式, 一种是面对过程编程, 一种是面对结果编程. 两者区别如下 面向过程编程 面向过程编程需要编程程序让程序依次执行得到自己想要的结 ...

  2. [转]Python爬虫框架--pyspider初体验

    标签: python爬虫pyspider 2015-09-05 10:57 9752人阅读 评论(0) 收藏 举报  分类: Python(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  3. Python爬虫框架--pyspider初体验

    之前接触scrapy本来是想也许scrapy能够让我的爬虫更快,但是也许是我没有掌握scrapy的要领,所以爬虫运行起来并没有我想象的那么快,看这篇文章就是之前使用scrapy的写得爬虫.然后昨天我又 ...

  4. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  5. Scrapy 初体验

    开发笔记 Scrapy 初体验 scrapy startproject project_name 创建工程 scrapy genspider -t basic spider_name website. ...

  6. Node.js 网页瘸腿爬虫初体验

    延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...

  7. 【Go 入门学习】第一篇关于 Go 的博客--Go 爬虫初体验

    一.写在前面 其实早就该写这一篇博客了,为什么一直没有写呢?还不是因为忙不过来(实际上只是因为太懒了).不过好了,现在终于要开始写这一篇博客了.在看这篇博客之前,可能需要你对 Go 这门语言有些基本的 ...

  8. Scrapy初体验(一) 环境部署

    系统选择centOs 7,Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, ...

  9. 【Python3爬虫】爬取美女图新姿势--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

随机推荐

  1. DDR4中的so-dimm 和component

    so-dimm :Small Outline Dual In-line Memory Module (小型双列直插式内存模块) component:直接焊接的ddr4芯片

  2. 教你如何挑选深度学习GPU【转】

    本文转载自:https://blog.csdn.net/qq_38906523/article/details/78730158 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又 ...

  3. linux字典生成工具crunch

    安装 tar zxvf crunch-3.6.tgz cd crunch-3.6 gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D ...

  4. Maven取消编译自动测试

    Maven取消编译自动测试 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...

  5. <The old man and the sea>

    Every day is a new day. It is better to be lucky. But i would rather be exact. Then when luck comes ...

  6. vue知识汇总

    关于slot solt插槽,用来进行预定义,比如app里面的heard,各种情况下未必一致,把每种情况都加上solt,对应的情况下覆盖solt就可以了

  7. 如何优雅的进入IT世界

    原始地址:http://www.cocoachina.com/gamedev/misc/2014/0613/8808.html 以下三段是废话,请跳过.   (废话段1)有文科生想了解IT世界.这并不 ...

  8. OKR学习总结

    OKR学习总结 背景:因为公司最近采用OKR工作法,所以来了解一下. 简介 OKR ——Object Key Results 主要分为两部分:O 和 KR ,就是目标和关键结果. 将这个丰满点描述,就 ...

  9. layui和bootstrap 对比

    layui和bootstrap 对比 这两个都属于UI渲染框架. layui是国人开发的一套框架,2016年出来的,现在已更新到2.X版本了.比较新,轻量级,样式简单好看. bootstrap 相对来 ...

  10. detectron——test 错误集锦

    一.测试错误,运行如下代码 python2 tools/test_net.py --cfg experiments/e2e_faster_rcnn_resnet--FPN_pascal2007.yam ...