这些图片熟悉吗?你以为我是从网上扒的,其实我是用爬虫爬的。
什么是爬虫?这么厉害吗?
爬虫是一个网页抓取工具,可以按照一定规则帮你抓取网页上你想要的信息。
爬虫的厉害之处在哪里?
举个例子:你想要获取王者荣耀的英雄皮肤图片怎么办?很多人都会选择打开百度去搜索,然后一张一张的保存。那想要全部保存下来需要花多长时间?会不会眼睛都废了?
//wwW。LUoMaysD。cOM
而爬虫,只需要一段代码,就能帮你把这些照片全部扒取下来,并按照你的方式存储命名。
想不想学?不难,只需要三步 + 二十条代码。
step1:导入相关的库
//wwW。LUoMaysD。cOM
import requests import os
step2:网页解析
url = 'http://pvp.qq.com/web201605/js/herolist.json' head = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} response = requests.get(url, headers=head) hero_list = response.json() hero_name = list(map(lambda x:x['cname'], hero_list)) hero_number = list(map(lambda x:x['ename'], hero_list))
step3:图片存储
# 下载存储图片 def save_IMG(): num = 0 # 遍历英雄 for i in hero_number: # 遍历皮肤,此处假定一个英雄最多有20个皮肤 for sk_num in range(20): # 英雄皮肤的URL链接 heroskin_links = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(i)+'/'+str(i)+'-bigskin-'+str(sk_num)+'.jpg' hl = requests.get(heroskin_links) if hl.status_code == 200: # 将图片保存下来,并以"英雄名称_皮肤序号"方式命名 with open(hero_name[num] + str(sk_num) + '.jpg', 'wb') as f: f.write(hl.content) num = num + 1 # 函数调用 save_IMG()
好了,你看这一个步骤下来我就已经爬取下来王者荣耀的354张皮肤照片。
是不是一下子觉得爬虫真的很厉害了!其实爬虫能够做的事情还有很多,利用爬虫我们可以获取大量的价值数据,从而获得感性认识中不能得到的信息:
//wwW。LUoMaysD。cOM
知乎:爬取优质答案,为你筛选出各话题下最优质的内容。
豆瓣图书、电影:抓取图书电影评分,获取高评分书单(电影列表)
淘宝、京东:抓取商品、评论及销量数据,对各种商品及用户的消费场景进行分析。
安居客、链家:抓取房产买卖及租售信息,分析房价变化趋势、做不同区域的房价分析。
//wwW。LUoMaysD。cOM
拉勾网、智联:爬取各类职位信息,分析各行业人才需求情况及薪资水平。
雪球网:抓取雪球高回报用户的行为,对股票市场进行分析和预测。
......
而你需要做的,只是学会爬虫这项技能。
在这里给大家推荐一门小白也能学的课程《python爬虫入门》:
通过《paython爬虫入门》这门课程,你将:
1、掌握基本的编程规范,能够独立编写代码
2、熟练python数据结构,在实践中应用
3、使用python第三方库,实现通用爬虫
//wwW。LUoMaysD。cOM
4、破解常见网站,实现大规模数据获取