初学scrapy并爬取 喜马拉雅音乐想和大家分享分享
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
一 、分析数据
1 https://www.ximalaya.com/yinyue/liuxing/p1/ 这个网址就是我们要爬取的的喜马拉雅网址
2 是要点击右键分析数据 你可以看到
3. 我把这个地址打开以后就会发现 这是json数据
4、我们看一下去掉会是什么样子
5 看到那个后面的id 我还好像在哪见过那 对啦就是在
6 简单的分析结束啦 开始我们的代码之旅吧!
二 、分析完啦 话不多说 给各位看官上代码!
1、这是我们需要的模块 需要引一下
import scrapy
import re
import json
import requests
2
创建一个类并继承 最初的爬虫类 并在start_urls 里添加最初的URL 并将结果交给 parse 函数
class www_ximalaya_com(scrapy.Spider):
name = "www_ximalaya_com"
start_urls = [
"https://www.ximalaya.com/yinyue/liuxing/p1/"
]
3 接到 网页数据之后 开始解析我们要的 首先是 每个歌曲集合 的id 还有 下一页的 URL 并将获取的数据传到要掉用的parses 函数
页的URL 返回给本身 并进行下一次爬取