爬虫小程序(爬取英雄联盟的英雄皮肤)

一、爬虫流程:

1、明确目标:url = https://daoju.qq.com/lol/list/17-0-0-0-0-0-0-0-0-0-0-00-0-0-1-1.shtml?ADTAG=innercop.lol.SY.shoppinglist_new_17

2、判断数据类型:动态/静态(这里是动态类型,是通过JS渲染的)

   备注:如何来判断数据类型?是通过源码来判断的,如果网页源码中可以找到我们需要爬取的数据,那么就代表是静态,可以通过访问网页后结合正则就可以获取数据,

如果网页源码找不到我们需要的数据,则是动态,一般动态都是通过js进行渲染页面

3、利用工具找到数据:可以通过F12或者抓包工具

   

4、解析数据,提取数据

5、保存数据:数据库保存或者文件保存

二、代码示例

1、准备工作:创建一个‘D:\\LOL_pic’文件夹,存储数据

下载requests包:py -3.6 -m pip install requests

2、代码编写

import requests
import json
import time
total = 55  # 从网页可以看到有54页
try:
    for page in range(1,total+1):
        url = "https://apps.game.qq.com/daoju/v3/api/hx/goods/app/v71/GoodsListApp.php?view=biz_cate&page={}&pageSize=16&orderby=dtShowBegin&ordertype=desc&cate=17&appSource=pc&plat=1&output_format=jsonp&biz=lol&_=1576484717258".format(page)
        header = {"User-Agent":"使用自己的"}
        respon = requests.get(url=url, headers=header)
        content = respon.text  # 如果数据是字符串格式使用 .text,如果数据是二进制格式使用 .content,如果数据是JSON格式使用 .json()
        # print(content)
        result = content.split("=", 1)[1]  # 得到的是一个字符串,把他处理为字典字符串(json),以便转换
        data = json.loads(result)  # 把数据类型转换为字典
        for picture_url in data["data"]["goods"]:
            img_name = picture_url["propName"]
            if ‘/‘ in img_name:
                img_name = img_name.replace(‘/‘, ‘-‘)  # 处理文件名有‘/’的问题
            img_url = picture_url["propImg"]
            picture = requests.get(url=img_url, headers=header).content  # 获取图片信息,数据类型是二进制
            with open(r‘D:\LOL_pic\{}.jpg‘.format(img_name), ‘wb‘) as f:  # 图片使用二进制写
                f.write(picture)
        print("第{}页爬取成功".format(page))
        time.sleep(3)  # 防止卡死
except Exception as e:
    print("数据抓取异:{}".format(e))
finally:
    print("程序执行完毕")

3、执行结果

三、python 文件打包

1、安装第三方包:py -3.6 -m pip install pyinstaller

py -3.6 -m pip install cryptography

注意:由于这两个包比较大,请一定保证网速,否则会报错

在安装时遇到的情况如下:

表示超时,网速原因,可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/#genshi网站上去拉取:PyInstaller?3.5?py2.py3?none?any.whl 这个文件下来,

然后在cmd 执行 py -3.6 -m pip installPyInstaller?3.5?py2.py3?none?any.whl 命令

因为这两包是多个小包组成的,如果遇到中途有某个包下载不了的情况,可以到上面这个网站去拉取对应的文件下来安装,举个例子:

  

  总之:保证网速会少去很多麻烦

2、在cmd输入命令:pyinstaller -F D:\test.py   # 这个py文件是需要处理成.exe的文件

如果在执行的时候遇到下面这个情况,代表你的 cryptography 包未安装或者安装失败导致的,请重新安装

  

  安装成功的图如下所示,请注意生成目录

  

  

3、拖至桌面,双击即可运行,如果需要更换图标,操作流程如下所示:

首先:到网上去找一个.ico的图标,免费图标官网的链接 https://www.easyicon.net/

然后:cmd运行命令  pyinstaller -w -i C:\Users\xxx\LOL_crawler\pc.ico C:\Users\xxx\LOL_crawler\LOL_img_program.py # 这是绝对路径,用相对路径也是可以的

  

最后:成功后到生成的路径下可看到如下的内容

  

结束!!!如有疑问请留言!!!

原文地址:https://www.cnblogs.com/su-sir/p/12051564.html

时间: 2024-11-08 02:01:46

爬虫小程序(爬取英雄联盟的英雄皮肤)的相关文章

爬取英雄联盟所有英雄皮肤

我们通过分析英雄联盟官网页面,进入到资料库页面,分析英雄所在的页面 这里有两种类型的同样的图片,一种是大图片的,一种是类似头像的小图片.我们这里抓取大图片 拿到几种图片链接分析https://game.gtimg.cn/images/lol/act/img/skin/big5000.jpg可以发现所有英雄皮肤链接url除了数字之前的都一样,而且后面的数字都是以英雄id+三位数拼接而成(三位数从000开始,但是有的英雄并不是就是依次排列,可能000,,001,002会直接跳到013) 由于英雄联盟

基于webmagic的爬虫小应用--爬取知乎用户信息

听到“爬虫”,是不是第一时间想到Python/php ? 多少想玩爬虫的Java学习者就因为语言不通而止步.Java是真的不能做爬虫吗? 当然不是. 只不过python的3行代码能解决的问题,而Java要30行. 这里推荐大家一个大牛做的java爬虫框架 [WebMagic] 文档简单易懂!java爬虫开发的福利啊! 一起来动手做一个小应用吧! 爬虫小应用–知乎用户信息 爬虫思想有3步 1. 抽取目标链接 2. 抽取需要的信息 3. 处理数据 一. 抽取目标链接 (确定入口地址,这里的入口是ht

用Python3Request爬取英雄联盟皮肤、单线程爬取

和王者荣耀相类似 链接:https://www.cnblogs.com/wxzbk/p/10981098.html """ Hero_LOL """ import requests import re import threading def hero(hero_name, hero_num): #统一前戳 h_l = "https://ossweb-img.qq.com/images/lol/web201310/skin/big&qu

爬虫小案例 爬取(妹子图片)

import requests #请求库 from bs4 import BeautifulSoup #网页解析库 def get_girl(url): #伪造请求头信息 header = { #用户代理 'User-Agent':"Mozilla/5.0(Windows NT 6.1;WOW64) AppleWebKit/537.1(KHTML,like Gecko) Chrome/22.0.1207.1 Safari/537.1", #上个页面的url 'referer‘:'htt

爬虫小程序 - 王者荣耀全皮肤爬取

爬虫小程序 - 王者荣耀全皮肤爬取 代码如下所示(可直接复制使用): import requests import re import os ''' ps: 出现 <Response [405]> 多运行几次就好了 ''' def Downloed_ksin(ename, **kwargs): # 英雄详情页 url = 'https://pvp.qq.com/web201605/herodetail/' + ename + '.shtml' html = session.get(url=ur

福利贴——爬取美女图片的Java爬虫小程序代码

自己做的一个Java爬虫小程序 废话不多说,先上图. 文件夹命名是用标签缩写,如果大家看得不顺眼可以等下载完成后手动改一下,比如像有强迫症的我一样... 这是挂了一个晚上下载的总大小,不过还有很多因为一些问题没有遍历下载到,而且会产生很多空文件,最下面我附带了一个递归删除空文件夹的小程序代码. 接下来是文件夹内部~ 图片存放位置默认为d:\picture,可在程序中更改,main函数的开头就是,有注释.爬取的网站为http://www.mmonly.cc/,大家有更好的资源网站可以私我. 爬虫源

【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于它是一个框架,任何人都可

一个python爬虫小程序

起因 深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊.“多线程”啊都没有学到. 想到廖雪峰大神的python教程很经典.很著名.就想找找有木有pdf版的下载,结果居然没找到!!CSDN有个不完整的还骗走了我一个积分!!尼玛!! 怒了,准备写个程序直接去爬廖雪峰的教程,然后再html转成电子书. 过程 过程很有趣呢,用浅薄的python知识,写python程序,去爬python教程,来学习python.想想有点小激动…… 果然python很是方便,5

python爬虫入门练习,使用正则表达式和requests爬取LOL官网皮肤

刚刚python入门,学会了requests模块爬取简单网页,然后写了个爬取LOL官网皮肤的爬虫,代码奉上 #获取json文件#获取英雄ID列表#拼接URL#下载皮肤 #导入re requests模块 import requestsimport reimport time def Download_LOL_Skin(): #英雄信息Json文件地址:https://lol.qq.com/biz/hero/champion.js #获取英雄信息列表 json_url = "https://lol.