爬虫的而基本步骤是什么嘞?

1.观察分析目标网页

2.解析生成图片下地址

3.下载图片

1.观察目标网站进入调试界面

按F12进入调试界面,然后按F5刷新界面。然后我们就能看到网站上的各种资源和代码了。找到式神目录

在调试界面找到Network ,从JS/XHR/Other中寻找式神清单。最终我们在XHR中找到了名为all_shishen.json?v36 的文件。其中all_shishen.json为有效文件名称。

文件地址为:

import requests

import re

import os#导入json文件(里面有所有式神的名字及数字)

from fake_useragent import UserAgent

url='https://yys.res.netease.com/pc/zt/20161108171335/js/app/all_shishen.json'

head={'User-Agent':UserAgent().random} #随机head

html = requests.get(url,headers = head) #添加随机headers,让服务器接收请求

html_json=html.json()

all_shishen.json中某一个式神的内容

#all_shishen.json从提取英雄名字和数字

shishen_id=list(map(lambda x:x['id'],html_json)) #id 序号

shishen_level=list(map(lambda x:x['level'],html_json)) #品质

shishen_name=list(map(lambda x:x['name'],html_json)) #名字

2.解析生成图片下地址获得图片地址

快捷键“shift+ctrl+c”,移动鼠标到对应的元素时即可看到对应网页代码。

式神的图片分为三大类,其对应的地址也不同

#觉醒

#皮肤

注意:链接末尾的?v3可以去掉不影响下载

通过观察发现对于同一式神,data前的地址是完全一样的,data后的地址依据分类和式神的不同而不同。210是鬼使白的编号。

那对于不同式神呢?

我们来看一下海坊主

#初始:

#觉醒:

#皮肤:

对于不同的式神,唯一的差异就在于编号。这个编号在all_shishen.json是有相关信息的,因此我们可以依据此进行遍历。

对于式神的皮肤我们并不知道具体每个式神有多少个,但按照经验,不超过10个,因此我们可以用一个变量从1-10去遍历图片地址,如果有响应我们就储存夏利。

解析图片下载地址!接下来就开始下载图片吧!

3.下载图片

对于每个式神,我们要对三个地址获取图片。在储存图片时,为了避免重名带来的覆盖。撰写了一个check_filename_available()函数来看是否有同名文件存在。具体代码是参考http://www.aspku.com/tech/jiaoben/python/330733.html可以跳转学习。

def main(): #用于下载并保存图片

#图片下载链接

ii=0

for v in shishen_id:

os.mkdir("C:/Users/diana/PycharmProjects/爬虫/图片/阴阳师/"+shishen_name[ii]) #换成你自己的-----创建路径

os.chdir("C:/Users/diana/PycharmProjects/爬虫/图片/阴阳师/"+shishen_name[ii]) #换成你自己的-----改变当前工作目录

ii=ii+1

#式神皮肤

for u in range(6):

# 拼接url

oneshishen_links='https://yys.res.netease.com/pc/zt/20161108171335/data/shishen_skin/'+str(v)+'-'+str(u)+'.png'

im = requests.get(oneshishen_links) # 请求url

if im.status_code == 200:

iv=re.split('-',oneshishen_links)

open(iv[-1], 'wb').write(im.content) # 写入文件

#式神觉醒后

oneshishen_afterAwake_link='https://yys.res.netease.com/pc/zt/20161108171335/data/shishen_big_afterAwake/'+str(v)+'.png'

#式神觉醒前

oneshishen_beforeAwake_link='https://yys.res.netease.com/pc/zt/20161108171335/data/shishen_big_beforeAwake/'+str(v)+'.png'

im_1=requests.get(oneshishen_afterAwake_link)

if im_1.status_code == 200:

iv_1=re.split('/',oneshishen_afterAwake_link)

open(iv_1[-1],'wb').write(im_1.content)

def check_filename_available(filename): #重复文件名字的解决办法http://www.aspku.com/tech/jiaoben/python/330733.html

n=[0]

def check_meta(file_name):

file_name_new=file_name

if os.path.isfile(file_name):

file_name_new=file_name[:file_name.rfind('.')]+'_'+str(n[0])+file_name[file_name.rfind('.'):]

n[0]+=1

if os.path.isfile(file_name_new):

file_name_new=check_meta(file_name)

return file_name_new

return_name=check_meta(filename)

return return_name

im_2=requests.get(oneshishen_beforeAwake_link)

if im_2.status_code == 200:

iv_2=re.split('/',oneshishen_beforeAwake_link)

open(check_filename_available(iv_2[-1]),'wb').write(im_2.content)

main()

至此,运行main()函数我们可以开心的下载阴阳师的立绘啦~~~

python爬取网易藏宝阁_Python爬虫:爬取阴阳师的式神立绘相关推荐

  1. python爬取学校新闻_python爬虫爬取新闻的简单实现

    我们通常是使用爬虫爬取网站信息,其实网络爬虫是一种应用于搜索引擎的程序.使用python爬虫可以将一个网站的所有内容与链接进行阅读.例如我们每日都要获取新闻信息,利用python爬虫就可以帮助我们爬取 ...

  2. python爬取bilibili弹幕_Python爬虫爬取Bilibili弹幕过程解析

    先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为https://www.bilibi ...

  3. python爬图代码实例_Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  4. python爬取微博文本_Python爬虫爬取新浪微博内容示例【基于代理IP】

    本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn ...

  5. python爬取数据步骤_Python爬虫爬取数据的步骤

    爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多 ...

  6. python爬虫爬取股票软件数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储(转载)...

    完整代码 实际上,整个事情完成了两个相对独立的过程:1.爬虫获取网页股票数据并保存到本地文件:2.将本地文件数据储存到MySQL数据库.并没有直接的考虑把从网页上抓取到的数据实时(或者通过一个临时文件 ...

  7. python抓取数据库数据_Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储...

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  8. python爬虫抓取百度图片_Python爬虫抓取百度的高清摄影图片

    成果预览: 源代码: import requests import re url = 'https://image.baidu.com/search/index' headers = { 'User- ...

  9. python爬网页源码_python爬虫爬取网页的内容和网页源码不同?

    可以看到这里id为k_total的元素值不同,爬出来是1,网页源码是55. 附还未完成的代码:import requests from bs4 import BeautifulSoup import ...

最新文章

  1. 盘点:2020 年机器学习 10 大进展
  2. .net和java互操作
  3. android 一维数组遍历,$.each()循环遍历一维数组、二维数组、JSON数据和DOM元素
  4. Qt文档阅读笔记-stackUnder官方解析与实例
  5. 802.11n协议解析(一)
  6. [C++] Value Categories
  7. python解决urllib发送请求报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED].....>
  8. 58. web 攻击技术(2)
  9. 三菱PLC水处理程序加触摸屏程序 三菱PLC水处理程序加触摸屏程序
  10. 94页5万字市级应急平台建设方案
  11. 缺失值的处理方法大总结
  12. Linu系统 rpm软件包 管理
  13. 数据库——postgresql数据库中standard_conforming_strings对‘\\’的影响
  14. linux32 浏览器,谷歌停止支持32位linux系统的Chrome浏览器
  15. 集装箱式数据中心机房
  16. 软件智能:aaas系统对AI的诠释-AI的可能的三个取向和必然的一个成果(演绎逻辑-必然的推理-的两个独立性:推论和定论)
  17. 计划赶不上变化,为什么还要计划呢?
  18. 如何更高效(HOWTO: Be more productive--Aaron Swartz)
  19. 把手机变成电脑的遥控器
  20. 德邦快递接口开发-java(【新】下单服务接口)

热门文章

  1. 微型机与应用与计算机,微型机与应用是核心期刊吗
  2. TFIDF | 有权重的计算文本情感得分
  3. linux安装软件系列之npm安装
  4. sun键盘没有stop键_Sun ALOM使用指南
  5. ABB ACS510变频器PID应用调试
  6. 动态获取API函数地址---对抗win7 aslr安全机制
  7. gradle构建编码_您可以通过构建以下一些应用想法来提高自己的编码技能
  8. 一个基于Bmob的OPPO锁屏壁纸小程序,写过之后发现...好像没什么卵用...一脸懵逼...
  9. 基于VS2019编程实现的导弹惯性导航仿真导弹
  10. Hystrix 从入门到深入——一阅读官网