在创建新的scrapy爬虫之前,我们需要先了解一下创建一个scrapy爬虫的基本步骤
第一步:确定要爬取的数据
以爬取豆瓣电影数据为例:
每部电影所要爬取的信息有:
- 片名:《头号玩家》
- 导演: 史蒂文·斯皮尔伯格
- 编剧: 扎克·佩恩 / 恩斯特·克莱恩
- 主演: 泰伊·谢里丹 / 奥利维亚·库克 / 本·门德尔森 / 马克·里朗斯 / 丽娜·维特 / 更多…
- 类型: 动作 / 科幻 / 冒险
所以items文件的代码如下:
#items.py
import scrapy
class DoubanItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
movie_name = scrapy.Field()
movie_dir = scrapy.Field()
movie_editors = scrapy.Field()
movie_actors = scrapy.Field()
movie_type = scrapy.Field()
第二步:爬取所需的信息
确定了要爬取的信息后,只要去把所需的信息从网页上爬下来就可以了。
要爬取网页上的信息,我们需要先创建一个爬虫文件,在命令行中输入如下命令(必须在爬虫项目的文件夹里):
scrapy genspider spidername "domain"
#spidername是要创建的爬虫的名字,必须是唯一的,而且不能和爬虫项目名相同
#domain要爬取的url的范围,即你所要爬取的网站的域名,如:www.baidu.com
创建好爬虫文件后,打开爬虫项目下的spiders文件夹,就可以看到我们刚刚创建的爬虫文件,用编辑器打开。
文件里已经定义好了start_urls,这是我们要开始爬取的网站链接,注意这是一个列表,可以放入多个url。当爬虫运行时就会把start_urls里的链接一个一个地拿出来,然后将返回的页面作为参数传递给parse函数来对网页中的信息进行提取,示例只爬取一个页面(头号玩