scrapy学习笔记

部署Scrapy

Scrapy架构

Scrapy使用

创建项目

使用scrapy创建项目:scrapy startproject myproject

一些遇到的问题

  • extract()函数范围值为list
  • item的使用

按照我的理解,item本质就是个dict,而field的作用是为了对对应的字符串进行赋值而使用.

Field对象完全就是python字典(dict),被用来基于类属性(class attribute)的方法来支持,item可以通过继承item来扩展如果遇到多个list组成的dict来赋值item.目前我考虑到两种方式:

1. 官方利用dict遍历来实现item的赋值

    
1
2
3
4
5
6
7
items = []
for city in city_list:
item = items.InsScrapyItem()
item['slug'] = city['slug'],
item['id'] = city['id'],
item['name'] = city['name'],
items.append(item)
来实现多个item的组合. 参考代码:[dirbot](https://github.com/scrapy/dirbot) 2. 我考虑到`scrapy.Item`本身就是dict属性,所以考虑直接把city_list赋值给他,似乎也能实现