前言
昨天在写完 入门级爬虫之后 ,马上就迫不及待的着手开始写 B站的图片爬虫了,真的很喜欢这个破站呢 (〜 ̄△ ̄)〜
这里不涉及到 Python 爬虫的高级技巧,没有使用框架,没有考虑反爬机制,没有使用异步IO技术,因为这些,我都不会!
分析目标
我们选定 B站的 动画区 进行测试,打开后我们发现有好多好多图....
BiliBiliSpider1.png
但当我们使用 F12 查看这些图片的时候,发现并没有图片的地址...
这就是目前大多网站使用的 Ajax 技术动态加载数据的锅,可遇到这种情况这么办呢?别急别急,我们知道这些图片的地址一定是需要加载的,而目前常见WEB传输数据的基本就是方式 XML 和 Json (其实是我就知道这两种...),那好我们去看看请求的 XML 和 Json 文件。
BiliBiliSpider3.png
以下省略查找过程....
这个是 MAD·AMV 最新动态的 Json 文件,利用上面相同的方法,我们找到 3D区、短片·配音区、综合区 以及 右边排行部分 的相应 json 地址。
找到 Json 数据后,我们需要开始分析如何才能从中拿到 图片地址了
好在 Chrome 浏览器提供了一个 Preview 功能,自动帮我们整理好 数据,如下
BiliBiliSpider4.png
这样就很清晰啦,我们只需要一层层解析拿到 pic 即可。于是我们这样写:
json_url = 'https://api.bilibili.com/x/web-interface/dynamic/region?callback=jQuery172071087417824369_1505783866149&jsonp=jsonp&ps=15&rid=24&_=1505783866453'
json =