4399知名游戏-赛尔号图鉴的爬取
4399知名游戏-赛尔号图鉴的爬取
面向对象:
1.疫情居家无聊之人
2.python略懂一点点就行
头文件引入:
如果没有下面的头文件不要慌,打开你的python终端pip install +包名即可
from bs4 import BeautifulSoup
import requests
import json
import os
import sys
爬取赛尔号图鉴:
右键查看网页源代码你会发现编码方式为’GBK’且有个script,省的我们动态获取链接,可以看到petData是一个二维列表,petData[:,1]是图鉴详情页,点进去看如下所示
target = 'http://news.4399.com/seer/jinglingdaquan/'
req = requests.get(target).content.decode('gbk')
html = reqprint('开始爬取...')
bf = BeautifulSoup(html)
t = bf.select('body > script') #图鉴页面的详情信息
temp = str(t[0])[22:]
temp = temp[:-12]
lis = json.loads(temp) #str格式的list转listprint('获取图片html...')
length = len(lis)
html_list = []
for i in range(length):html_list.append(lis[i][1]) #把详情url先存起来
print('载入成功,准备保存...')
先用html_list存储详情页的url,当然可以直接进行下面的转换不用先存
F12选中图片发现图片url竟在之中,get后保存本地即可,保存函数如下
def save_img(name,url): # 保存图片img = requests.get(url)f = open(name, 'ab')f.write(img.content)print(name, '文件保存成功!')f.close()
dirname = input('请输入存图片的文件夹名')
flag = os.path.exists('./'+dirname)
if not flag:os.makedirs('./'+dirname)
else:print('当前文件夹下有同名目录')
for i in range(length):temp = requests.get(html_list[i]).content.decode('gbk')temp_bf = BeautifulSoup(temp)img = temp_bf.select('#state > div.focus.cf > div:nth-child(2) > img')lis_img = str(img).split('"')save_img('./'+dirname+'/'+lis_img[1]+'.jpg',lis_img[3])
now = os.getcwd()
print('爬取完毕!存于'+str(now)+'/'+str(dirname))
写在最后:
当然你们可以不看博客直接复制下面的代码
from bs4 import BeautifulSoup
import requests
import json
import os
import sysdef save_img(name,url): # 保存图片img = requests.get(url)f = open(name, 'ab')f.write(img.content)print(name, '文件保存成功!')f.close()
target = 'http://news.4399.com/seer/jinglingdaquan/'
req = requests.get(target).content.decode('gbk')
html = reqprint('开始爬取...')
bf = BeautifulSoup(html)
t = bf.select('body > script')
temp = str(t[0])[22:]
temp = temp[:-12]
lis = json.loads(temp)print('获取图片html...')
length = len(lis)
html_list = []
for i in range(length):html_list.append(lis[i][1])
print('载入成功,准备保存...')dirname = input('请输入存图片的文件夹名')
flag = os.path.exists('./'+dirname)
if not flag:os.makedirs('./'+dirname)
else:print('当前文件夹下有同名目录')#sys.exit(0)
for i in range(967,length):print(i,end = '')try: #用于爬取精灵(多形态需要额外判断select条件,我懒),有些不符合的get请求结果直接跳过temp = requests.get(html_list[i]).content.decode('gbk')temp_bf = BeautifulSoup(temp)img = temp_bf.select('#state > div.focus.cf > div:nth-child(2) > img')lis_img = str(img).split('"')save_img('./'+dirname+'/'+lis_img[1]+'.jpg',lis_img[3])except:continue
now = os.getcwd()
print('爬取完毕!存于'+str(now)+'/'+str(dirname))
几个注意的地方:
1.这里的切片位置可能会变,你可以选择更加智能的切片,当然,是因为我懒。
2.这里的select,推荐EDGE浏览器F12选中目标标签,右键复制SELECT即可
3.为什么要爬赛尔号图鉴呢?
吃饱了撑的,当然不是,准备搭建简易生成对抗网络就叫它SEERGAN吧(手动滑稽)随机生成精灵,效果好的话就好玩了。
4399知名游戏-赛尔号图鉴的爬取相关推荐
- 利用python做一个游戏主播_Python爬取2000万直播数据——看20万游戏主播能否月入100万...
作者 | 朱小五and王小九 来源 | 凹凸数读 她那时候还太年轻,不知道命运赠送的礼物,早已暗中标好了价格. --茨威格 社会在发展,时代在进步.伴随着未曾停息的拥护声和反对声,电竞行业逐渐被接受, ...
- Python 【爬虫3】_微信小程序_小游戏数据助手数据爬取
一.背景介绍 近期产生需求,需要批量重复获取微信小程序数据助手的部分数据,减少重复工作,提高效率. 二.环境准备 主要逻辑:charles抓包,分析,爬取,数据存储 环境配置:pc-win10/移动- ...
- 微信小程序,小游戏数据助手数据爬取!还敢随便授权小游戏吗?
一.背景介绍 近期产生需求,需要批量重复获取微信小程序数据助手的部分数据,减少重复工作,提高效率. 二.环境准备 主要逻辑:charles抓包,分析,爬取,数据存储 环境配置:pc-win10/移动- ...
- python爬取小游戏_如何用Python爬取小游戏网站,把喜欢的游戏收藏起来(附源码)...
简介: Python 是一门简单易学且功能强大的编程语言,无需繁琐的配置,掌握基本语法,了解基本库函数,就可以通过调用海量的现有工具包编写自己的程序,轻松实现批量自动化操作,可以极大提高办公和学习效率 ...
- 如何用Python爬取小游戏网站,把喜欢的游戏收藏起来(附源码)
简介: Python 是一门简单易学且功能强大的编程语言,无需繁琐的配置,掌握基本语法,了解基本库函数,就可以通过调用海量的现有工具包编写自己的程序,轻松实现批量自动化操作,可以极大提高办公和学习效率 ...
- 最没灵魂的爬虫——Selenium 游戏信息的爬取与分析
最没有灵魂的爬虫--Selenium 游戏信息爬取与分析 准备工作 IDE选取 selenium安装 ChromeDriver安装与配置 还需要用到的其他python库 数据爬取 杉果游戏的数据获取 ...
- Python爬虫实例:爬取 viveport 上 1406 款VR游戏信息
这次我们准备爬取 HTC VIVE 的VR内容平台--Viveport,上面有 1406 款优质的 VR 游戏/应用,本次我们的目标就是把这些游戏的详细信息爬取下来. 首先我们去该网站看一下(http ...
- Python爬取4399好wan的小游戏!
#coding=utf-8 #爬取4399所有好玩的游戏 import re import os import requests# 基础url host_url = 'http://www.4399. ...
- 怎么把4399小游戏的代码_25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在...
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 还记得童年的网页小游戏吗?今天带大家爬取4399小游戏网站的数据,游戏名字+链接地址 目标网 ...
最新文章
- python里countsget_在Python中测试访问同一数据的竞争条件的方法
- 我在使用chrome经常使用的一些技巧
- 批量裁剪GIS数据(包含GDB,MDB,Shp)
- Android官方开发文档Training系列课程中文版:线程执行操作之创建多线程管理器
- matlab图像大作业,MATLAB图像大作业
- Java中方法和数组
- 跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句
- linux less 阻塞输出,linux – `less`命令显示输出所用的时间
- char强制类型转换为int_数据类型专题之三: char类型和类型转换
- 51单片机LCD12864程序移植到STM32F103C
- Attention机制--concat方式
- python的spider如何让鼠标不_【专题教学】python wooyun爬虫模拟鼠标等
- html邮件的排版问题
- 用Dijkstra算法找到图上两点之间的最短路径
- 芯准TTE“宏时隙“调度机制 ——基本原理
- 利用百度地图查询全国地铁线路
- 【STL】C++ STL之stack详解
- 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版
- UVa1618 弱键
- 摩托车免钥匙进入一键启动遥控点火解决方案设计与应用