一、写在前面
之前在简书首页看到了Python爬虫的介绍,于是就想着爬取B站弹幕并绘制词云,因此有了这样一个简单的尝试,从搭建环境到跑通demo,不懂语法,不知含义,装好环境,查到API,跑通Demo,就是目标!纯零基础萌新!
关于环境的安装及调试过程中遇到的问题记录请移步
二、Python爬取B站弹幕
环境说明
windows8.1 x64+python3.6+scrapy1.4
参考文档:
scrapy github
scrapy document
scrapy爬虫框架入门实例
步骤说明
- 安装python3.6
- 安装scrapy1.4
- 建立scrapy demo
- 跑通demo遇到问题、解决问题
- 更改demo为B站弹幕爬取demo
我这边是按照参考文档中 scrapy爬虫框架入门实例这个demo来做的,这个文章里面无论是介绍还是scrapy的入门都非常详细,建议大家按照- 这个来入门,但是由于慕课网的结构样式以及更改了,所以demo是跑不起来的,因此我换成了爬取B站的弹幕demo。截止2017年9月2日亲测可跑通。
Demo说明
1. 安装scrapy成功之后建立项目scrapytest
scrapy startproject scrapytest
2. demo目录
本demo目录仅保留当前demo可用的文件,且文件名字不同于scrapy自动生成的文件名字,对于未涉及到的文件进行了删除
│ scrapy.cfg//项目的配置文件
└─scrapytest
│ CourseItems.py//定义一个容器保存要爬取的数据
│ MyPipelines.py//项目中的pipelines文件.
│ settings.py//项目中的设置文件.
├─spiders
│ │ data.json//爬取数据生成的文件
│ └─ Myspider.py//爬虫主代码
3. demo代码
创建CourseItems.py文件
定义一个容器保存要爬取的数据。为了定义常用的输出数据,Scrapy提供了Item类。Item对象是种简单的容器,保存了爬取到得数据。 其提供了 类似于词典(dictionary-like)的API以及用于声明可用字段的简单语法。由于最后输出的只要弹幕的内容,所以容器中只定义了弹幕的内容
#引