【技术】python爬虫教程(1)
打算写点爬虫的教程,用几个例子告诉大家怎样用爬虫爬取资源。
一.需要的软件
1.Python
爬虫主要使用的语言,因为编写起来很简单。
安装可以参考https://blog.csdn.net/nmjuzi/article/details/79075736
注意下载python3系列的,一般选择最新的就行。
2.VScode
VScode是一款好用的编辑器,我用的很喜欢。
下载安装之后,在vscode中安装Python支持,一般步骤是Ctrl+Shift+X快捷键,然后在左边搜索框里输入Python,然后安装名字叫Python的插件。如果显示网络问题就刷新。
3.火狐浏览器和谷歌浏览器
两个浏览器都比较方便,火狐浏览器方便对网页进行分析。而谷歌浏览器是因为加载动态网页需要它。
4.几个python库
主要有urllib、json、os、time(安装python时自带),requests、bs4、selenium(可能需要安装)。
安装库方法如果不懂的可以百度。同时selenium库需要额外的控制程序,需要添加火狐或者谷歌浏览器的驱动,我选择了谷歌浏览器,当然两个一起也没有问题。
不懂看教程https://www.cnblogs.com/michael-cheng/p/6885705.html
5.ffmpeg
下载地址:https://ffmpeg.org/
主要是需要一个叫做ffmpeg.exe的程序。
主要用于视频、图像处理。
二.第一个示例
首先,https://lol.qq.com/data/info-heros.shtml这个是英雄联盟游戏英雄资料界面,就不截图了,自己点开看,尽量用火狐打开。
https://lol.qq.com/data/info-defail.shtml?id=1
这个是第一个英雄的资料,而我的目的是把这个英雄所有皮肤的海报图片下载下来。
当然,鼠标右键另存为就可以下载下来。
但是,我想要做的是下载所有英雄的所有皮肤。
这个就是这个示例要完成的功能。
那我们的程序设计也很简单:
第1步,获取英雄资料列表
第2步,对每一个英雄的资料获取皮肤信息
第2.1步,对每一个皮肤下载并保存到本地
写成python程序就应该是这样的
而我们可以看到蓝色行上面的两行的info-defail.shtml?id=1就是这个英雄的资料的地址的后缀对不对。回去看地址https://lol.qq.com/data/info-defail.shtml?id=1 。
<li>拼命加载中</li>
<!– <li class=”current”><a href=”#”><img src=”//game.gtimg.cn/images/lol/web201310/101/tmp/tmp-user.jpg” alt=””><p>稻草人</p><span class=”sbg”><i class=”commspr commico-search”></i></span></a></li> –>
</ul>
https://lol.qq.com/data/info-defail.shtml?id=2
https://lol.qq.com/data/info-defail.shtml?id=3
https://lol.qq.com/data/info-defail.shtml?id=4
https://lol.qq.com/data/info-defail.shtml?id=5
https://lol.qq.com/data/info-defail.shtml?id=6
https://lol.qq.com/data/info-defail.shtml?id=7
发现浏览器加载了很多个文件,不着急,先看看这些文件的名字。最终,我找到了一个叫做hero_list.js的文件,就是英语再差也应该知道这是英雄列表的意思,点开。
这不就是我想要的结果吗?
只有原画的,不过这张图片的地址倒是获取到了。
那些皮肤居然出现了,这说明这些信息也是异步加载的。
点开之后就可以看到有一个叫mainimg的属性https://game.gtimg.cn/images/lol/act/img/skin/big1000.jpg
下一次我会发在两个网站上爬黄书的例子。