Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目

1. 任务一,抓取以下两个URL的内容,写入文件

http://www.dmoz.org/Computers/Programming/Languages/Python/Books/

http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/

项目截图

和上一个project不同的是,在spider中没有定义rules属性,而是定义了parse方法。这个方法告诉scrapy抓取start urls的内容后应该怎么做。第一个任务我们仅把内容写入文件。

2.任务二:在scrapy shell中练习使用xpath

在项目的顶级目录输入:

scrapy shell "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/"

有一个叫response的loval变量,存储了shell在加载的时候抓取的内容

练习简单的xpath

xpath方法返回的是一系列selector, 你可以继续调selector 的xpath方法,做更深入的挖掘

最后,使用ctrl + z 或输入两次quit推出shell

3.任务三,从response中选取 title, link和desc并输出到控制台。

为此需要改写我们的spider

import scrapy

class DmozSpider(scrapy.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):
        for sel in response.xpath(‘//ul/li‘):
            title = sel.xpath(‘a/text()‘).extract()
            link = sel.xpath(‘a/@href‘).extract()
            desc = sel.xpath(‘text()‘).extract()
            print title, link, desc

4.任务四:将 title, link 和desc以json的形式写入文件

改写项目顶层目录的items.py

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html

import scrapy

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

改写spider

__author__ = ‘DB‘

import scrapy
from project002.items import DmozItem

class DmozSpider(scrapy.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):
        for sel in response.xpath(‘//ul/li‘):
            item = DmozItem()
            item[‘title‘] = sel.xpath(‘a/text()‘).extract()
            item[‘link‘] = sel.xpath(‘a/@href‘).extract()
            item[‘desc‘] = sel.xpath(‘text()‘).extract()
            yield item

再次运行spider:

scrapy crawl dmoz -o items.json

时间: 2024-11-05 19:30:56

Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目的相关文章

Python爬虫框架Scrapy 学习笔记 3 ------- 第一个Scrapy项目

开发环境PyCharm 目标网站和上一次一样,可参考:http://dingbo.blog.51cto.com/8808323/1597695 但是这次不是在单个文件中运行,而是创建一个scrapy项目 1.使用命令行工具创建scrapy项目的基本目录结构 2. 编辑items.py 3.在spiders目录下,新建spider1.py 报错很正常 我们按照scrapy project的目录结构导入了TorrentItem,而不是pyCharm project的目录结构 4.运行spider 抓

scrapy学习笔记 1,第一次使用scrapy

第一次使用scrapy,记下爬过的坑 1,xpath语法,xpath语法用于选取需要的数据,用过bs4会比较好的理解它,类似于从一目录树查找, xpath('/html/body/div/div'),这是绝对路径找数据 xpath('//*[@id = "niubi"]'),这是相对路径找数据 还可以选择从绝对路径到某一路径下,找一个"特殊"的数据 xpath('//*a/html/body/div1/div2),找div2下的所有a标签 2,找到后,需要实例化,这

8个最高效的Python爬虫框架,你用过几个?

小编收集了一些较为高效的Python爬虫框架.分享给大家. 1.Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中..用这个框架可以轻松爬下来如亚马逊商品信息之类的数据. 项目地址:https://scrapy.org/ 2.PySpider pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取

node.js框架StrongLoop学习笔记(一)

node.js框架StrongLoop学习笔记(一) 本人在用node.js做手机后台,查找框架发现StrongLoop挺适合,可是却发现没有中文教程,于是在自己学习时,做一下笔记,以方便其他像我一样的人参考(本人的英语水平非常差,只能一点点试着做,并记录下来,如果大家发现问题,请通知我好更正,谢谢了!).所有操作都是在CentOS7-x64,Node.js 0.12.2下完成的. nodejs框架StrongLoop学习笔记一 安装StrongLoop 创建项目 安装数据库驱动 配置数据库连接

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

欢迎加入Python学习交流群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 ! 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于

教你分分钟学会用python爬虫框架Scrapy爬取你想要的内容

教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 python爬虫学习课程,下载地址:https://pan.baidu.com/s/1v6ik6YKhmqrqTCICmuceug 课程代码原件:课程视频: 原文地址:http://blog.51cto.com/aino007/2123341

分享《精通Python爬虫框架Scrapy》中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/13tFIFOhDM8PG9pFUuA8M2g 更多分享资料:https://www.cnblogs.com/javapythonstudy/ <精通Python爬虫框架Scrapy>中文PDF+英文PDF+源代码 中文版PDF,364页,带目录和书签,文字可以复制粘贴,彩色配图:英文版PDF,270页,带目录和书签,文字可以复制粘贴,彩色配图:中英文两版对比学习.配套源代码. 其中,中文版如图: 原文地址:https://www.cnbl

分享《精通Python爬虫框架Scrapy》+PDF+源码+迪米特里奥斯+李斌

下载:https://pan.baidu.com/s/1-ruuQebCnyLVt5L8RATT-g 更多资料:http://blog.51cto.com/14087171 <精通Python爬虫框架Scrapy>中文PDF+英文PDF+源代码 中文版PDF,364页,带目录和书签,文字可以复制粘贴,彩色配图:英文版PDF,270页,带目录和书签,文字可以复制粘贴,彩色配图:中英文两版对比学习.配套源代码. 其中,中文版如图: 原文地址:http://blog.51cto.com/140871

【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于它是一个框架,任何人都可