learning scrapy笔记(四)

一个Scrapy项目

我们创建一个名字是properties的项目:

$ scrapy startproject properties
$ cd properties
$ tree
.
├── properties
│ ├── __init__.py
│ ├── items.py
│ ├── pipelines.py
│ ├── settings.py
│ └── spiders
│ └── __init__.py
└── scrapy.cfg
2 directories, 6 files

先看看这个Scrapy项目的文件目录。文件夹内包含一个同名的文件夹,里面有三个文件items.pypipelines.py和setting.py。还有一个子文件夹spiders,里面现在还是空的。后面的章节会详谈settings、pipelines和scrapy.cfg文件。

定义items

我们打开items.py。里面已经有代码,我们要对其修改,重新定义class PropertiesItem。

from scrapy.item import Item, Field

class PropertiesItem(Item):
# Primary fields
		title = Field()
		price = Field()
		description = Field()
		address = Field()
		image_URL = Field()

# Calculated fields
		images = Field()
		location = Field()

# Housekeeping fields
		url = Field()
		project = Field()
		spider = Field()
		server = Field()
		date = Field()

这是我们的第一段代码,要注意Python中的使用空格缩进的。每个字段名之前都是四个空格或是一个tab。空格符制定了这些项目是在PropertiesItem下面的。

编写爬虫

目前已经完成了一半,现在来写爬虫。一般的,每个网站,或一个大网站的一部分,只有一个爬虫。爬虫代码来完成UR2IM流程。
当然,可以用文本编辑器一句一句写爬虫,但更便捷的方法是用scrapy genspider命令,如下所示:

$ scrapy genspider basic web

使用模块中的模板“basic”创建了一个爬虫“basic”:

properties.spiders.basic

一个爬虫文件basic.py就出现在目录properties/spiders中。刚才命令中,生成一个名字为basic的默认文件,它的限制是在web上爬取URL。我们可以取消这个限制。这个爬虫使用的是basic这个模块。你可以用scrapy genspider -I查看所有的模板,然后用参数-t利用模板生成想要的爬虫,后面会介绍一个例子。
查看properties/spiders/basic.py文件,它的代码如下:

import scrapy
class BasicSpider(scrapy.Spider):
	name = "basic"
	allowed_domains = ["web"]
start_URL = (
		'http://www.web/',
	)
	def parse(self, response):
		pass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值