【scrapy】创建第一个项目

1)创建项目命令:

scrapy startproject tutorial

该命令将在当前目录下创建tutorial文件夹

2)定义Item

Items are containers that will be loaded with the scraped data;They are declared by creating a scrapy.Item class and defining its attibutes as scrapy.Field objects.

import scrapy

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

3)定义spider

To create a spider,you must subclass scrapy.Spider and define the three main mandatory attributes:

name:identifies the spiders

start_urls:a list of urls where the spider will begin to crawl from.

parse():a method of the spider,which will be called with the downloaded Response object of each start url.The response is passed to the method as the first and only argument.

The parse() methods is in charge of processing the response and returning scraped data(as Item object) and more urls to follow(as Request object).

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):
        filename = response.url.split("/")[-2]
        with open(filename, ‘wb‘) as f:
            f.write(response.body)

4)爬取

命令:scrapy crawl dmoz

5)storing the scraped data

命令:scrapy crawl dmoz -o items.json

that will generate a items.json file containing all scraped items,serialized in JSON

If you want to perform more complex things with the scraped items,you can write an Item Pipeline.

------------------------------------------------------------------------------------------------------------------------------------

Introduction to Selectors

There are several ways to extract data from web pages.Scrapy uses a mechanism based on XPath or CSS expressions called Scrapy Selectors.

You can see selectors as objects that represent nodes in the document structure.

Selectors have four basic methods:

xpath():returns a list of selectors

css():returns a list of selectors

extract():returns a unicode string with the selected data

re():returns a list of Unicode strings extracted by applying the regular expression given as argument.

Trying Selectors in the Shell:

Start a shell:

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

After the shell loads,you will have the response fetched in a local response variable,so if you type response.body() you will see the body of the response,or you can type response.headers to see its headers.

【scrapy】创建第一个项目,布布扣,bubuko.com

时间: 2024-10-22 19:43:35

【scrapy】创建第一个项目的相关文章

python+Django创建第一个项目

1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检查是否安装好 1.4 查看Django的管理工具---django-admin.py命令 2. 创建第一个项目 HelloWorld: 项目的容器. manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互. HelloWorld/__init__.py: 一个空

Angular4.0安装及创建第一个项目

Angular简介 AngularJS 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVW(Model-View-Whatever).模块化.自动化双向数据绑定.语义化标签.依赖注入等等. AngularJS 是一个 JavaScript框架.它是一个以 JavaScript 编写的库.它可通过 <script> 标签添加到HTML 页面. Angu

【3】Django创建第一个项目

天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是核心的讲解.过程中可能会有一些配置或者技术点不会明确的讲解,入门项目要求是能写出代码.能跟着文档写出项目,能了解项目即可.其余的后续章节中会有详细介绍,此时~不用恐惧不用害怕不用担心,某些细节问题我们暂时可以不求甚解! 本节内容 项目结构了解 创建第一个项目 运行并访问我们的项目 1. Django创建项目的

vue-cli创建第一个项目(用git bash解决上下键移动选择问题)

vue-cli创建第一个项目(用git bash解决上下键移动选择问题):https://www.cnblogs.com/dangdanghepingping/p/10257719.html 我电脑是windows:(nodejs已经有了) 1 下载vue-cli cmd 打开命令行,或者是gitbash.最好是用cnpm比较快. 2   创建项目: dos命令,cd 你的希望创建的文件夹位置(cd :d  ) hello-world是项目的名字 3 :选择预设 选择手动(默认的以后有什么需要,

django创建第一个项目helloworld

环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# pip install Django==1.10.5 1.2.使用django创建hello项目下面我们就来创建我们的HelloWorld项目,在你想保存项目代码的目录下执行django-admin.py startproject hello 1.3.开启服务# python hello/manage

android studio教程-创建第一个项目Hello World

我的博客中的原文:http://www.qiuqiu77.com/android-studio-hello-word.html 在前面文章讲了android开发环境的部署,那么我们用hello world和android studio打声招呼吧! 第一步,打开android studio 输入你的项目名称"Hello World". "Company Domian":暂时你就随便填一个吧! "Project Location":你应该新建一个目录

用Maven创建第一个项目

1.在Eclipse左侧的空白处点击鼠标右键,选择:New>Other : 2.选择Maven项目,点击"Next"按钮: 3.保持默认,直接点击“Next”按钮: 4.选择maven的webapp项目,点击“Next”按钮: 5.输入Grou Id(如:net.quickcodes.demo)和Artifact Id(如:helloworld),点击“finishi”按钮: 6.如果你是第一次创建Maven项目,Maven会在远程加载Maven所需要的资源,这个过程可能要花很长

cocos2d-x游戏开发(二)之创建第一个项目

配置好开发环境之后,尝试创建一个cocos项目 (1)打开cocos2d-x安装目录,如D:\DIY\cocos2d-x-3.3 看到目录下有可执行文件 download-deps 以及 setup ,先执行download-deps 键入 yes,这样可以避免重复下载库文件,然后执行setup 回车几次即可完成. (2)运行cmd命令窗口 键入cocos,可看到下面界面: (3)用命令创建一个cocos项目,键入cocos new 项目名 –p 包名 –l cpp –d路径 如:cocos n

创建第一个项目:HelloWorld

上节课我们讲解了cocos2-x v3.7版本的下载安装,也展示了使用CocosStudio编译不同平台执行程序的方法,大家是不是对新版本的Cocos引擎充满期待?今天我们就创建一个工程,给大家展示一下cocos2d-x v3.7 创建Hello World都有哪些新的改变. 本节课的课程视频地址:http://edu.csdn.net/course/detail/1342/20981?auto_start=1 火云开发课堂论坛地址:http://www.firestonegames.com/b