一个python写的小爬虫项目,爬虫相关的很容易写,关键是怎么找到爬取图片的位置。

图片位置分析

hero_list_url = 'http://pvp.qq.com/web201605/js/herolist.json'
hero_skin_root_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'

首先看提取出的两个url地址:hero_list_url与hero_skin_root_url,一个是json文件、另一个是jpg文件的网络位置。接下来我来分析一下这两个目标位置是如何找到的:

打开抓包软件进行抓包

在所有图片加载之前会出现一个json文件,这个json文件就是相对应的英雄信息,包括图片和其他信息。



再看数据包中的其他数据:



首先看/images/yxzj/img201606/heroimg/176/176.jpg,所对应的图像为一个英雄的头像;但是很明显的不是我们所追求的英雄全图。

再点开这个头像发现又抓到了几个新的数据包,其中就有我们要的图片的数据包:



查看具体图像的请求地址:



请求地址为/images/yxzj/img201606/skin/hero-info/176/176-bigskin-1.jpg,而多次请求就可以发现变化的是后面的176/176-bigskin-1,前面的/images/yxzj/img201606/skin/hero-info/是不会变化的,而这个176的编号是可以通过前面的json文件提取出来的,所以我们可以断定请求地址就是这个了。

代码思路

在上面的网络地址中发出请求就可以获取图片,但关键是如何将图片分名字存储到文件夹内,具体的可以参照项目代码:

效果图

最新文章

  1. Beta版本冲刺总汇
  2. java的jxl技术导入Excel
  3. Python join()函数
  4. mysql通过data文件恢复数据库的方式
  5. FAILURE: Build failed with an exception.
  6. .net String.Format数字格式化输出
  7. Windows 64位下安装Redis详细教程
  8. 【hadoop】mapreduce原理总结
  9. jsonp是什么以及jsonp的使用
  10. Spring Assert主张 (参议院检测工具的方法-主张)
  11. Android L SDK -- 一些有趣的新功能
  12. Tomcat基础
  13. convert图像格式批量转换
  14. 配置sudo记录日志
  15. jar包的启动和停止脚本
  16. 【swoole2.0】 PHP + swoole2.0 初体验
  17. Mac安装和卸载HomeBrew
  18. IOS测试-Fastmonkey
  19. 【我们开发有力量之二】利用javascript制作批量网络投票机器人(自动改IP)
  20. php错误:Uncaught exception com_exception with message Failed to create COM object

热门文章

  1. 背包搜索--LH
  2. 2006浙大火星A+B
  3. Hibernate Validator--创建自己的约束规则
  4. sql中in和exist语句的区别?(补充了left join和right join)
  5. js中一些小知识点总结--持续更新
  6. 关于android的一些博文收集
  7. 关于Synchronized关键字锁住对象的嵌套问题
  8. React中state和props的区别
  9. elasticsearch2.x插件之一:kibana
  10. 22.ThinkPHP5框架缺陷导致远程命令执行