我居然帮初恋用Python去追她男神,这波舔狗真的坐实了啊~

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 我居然帮初恋用Python去追她男神,这波舔狗真的坐实了啊~

了几句之后才发现她这是醉翁之意不在酒啊
特意找上我居然是因为辣条我是程序员来让我想办法帮她追现在隔壁家的小哥哥,真的是叔可忍婶不可忍啊。但是面对初恋的苦苦哀求着实没有办法抵抗啊,谁叫我之前舔的那么严重呢~

(你们说说我是不是太卑微了,不过你们记得持续留意,我会告诉你们我是怎么逆风翻盘的。你们信吗?如果信的话告诉我你的依据,我看对不对,有奖竞猜了哈!!!)

于是乎我给她制定了一系列只有我们程序员才能玩的转的“恋爱攻略”

首先要想成功那必须就得先了解对方的喜好,奈何初恋又是比较羞涩的着实不好意思开口去问,于是只能我亲自出手开始第一步行动,首先咱们先从他最喜欢的王者农药下手。

估计有些人就要问辣条了这有啥用啊,难道加上好友一起玩? 当然没有那么简单了,我们不仅可以一起玩,这个之后表白啥的都能用上的(这招叫做投其所好)

那么作为以为标准的程序员,辣条怎么会不考虑大家呢 毕竟程序员单身的数量尤其高啊所以大家跟上我的节奏一步一步来今天我先来告诉你们怎么样把王者的那些皮肤啥的都爬下来,这些在后面的表白啥的都是能用上的(悄悄告诉你们男女是通用的)

下面进入正题:怎么样用Python爬出王者皮肤图片呢?
一:步骤需求
1.获取王者荣耀url的地址

2.王者荣耀标准皮肤地址

3.推测图片是如何渲染的

            那么图片的编号是不应该是前端直接写好的,
            而是后端通过数据库查询出来渲染到前端的,后端传入到前端应该用序列化 json

二.涉及知识点
1.requests模块 请求库

2.os模块 文件操作库

3.pyquery模块 解析库

4.python语法

for循环

迭代器

正则匹配

函数

字典

三:思路
1.分析目标网页
2.模拟浏览器发送请求
3.把自己想要的数据解析出来
4.数据格式化存储
四.代码和执行效果
1.分析目标网页
import requests
import os
from pyquery import PyQuery

1

分析目标网页

明确爬取的url路径

url='https://pvp.qq.com/web201605/js/herolist.json'

说明你是用浏览器访问的

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 
              'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/' 
              '87.0.4280.88 Safari/537.36' 

}
2.发送requests请求

发送requests请求

模拟浏览器发送请求

获取响应数据

herolist=requests.get(url,headers=headers).json()
3.把自己想要的数据解析出来

解析数据--json模块

把自己想要的数据解析出来

那我们遍历上面这个列表就能拿到每个英雄的字典数据

for i in herolist:

# print(i['ename'],i['cname'],i['hero_type']) 
url_detail = 'https://pvp.qq.com/web201605/herodetail/%s.shtml'%i['ename'] 
html = requests.get(url_detail).content 

doc = PyQuery(html) 
# print(doc) 

items = doc('.pic-pf').items() 
# print(items) 
# print(list(items)) 

for item in items: 
    print(type(item)) 
    # print(type(item)) 
    # 获取皮肤的名字 
    name_datas = item.find('ul').attr('data-imgname') 
    # print(name_datas.split('|')) 
    name_data_list=name_datas.split('|') 
a = 0 
for name_data in name_data_list: 
    a = a+1 
    print(name_data) 
    img='http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/%s/%s-bigskin-%s.jpg'% (i['ename'],i['ename'],a)
    print(img)  
    hero_img_data=requests.get(img).content

4.保存数据

保存数据

保存数据

     # 保存在目标文件夹中 
     # 'img/英雄名字/皮肤图片' 
     if os.path.exists('./王者') is False: 
         os.mkdir('./王者') 

     if not os.path.exists('./王者/%s'%i['cname']): 
          os.mkdir('./王者/%s'%i['cname']) 
     # 有的话直接保存 
     with open('./王者/%s/%s.jpg'%(i['cname'],name_data),'wb') as f: 
          f.write(hero_img_data)

五:效果展示

五:最后总结一波

   利用requests库请求得到数据,pyquery进行解析,os模块进行保存

   舔狗不可怕,可怕的是又舔又有文化,如果你们看完有收获的话可以看一下底下民片,

① Python方向的学习路线图
② Python基础入门、爬虫、web开发、大数据分析方面的视频
③ 项目源码
④ 500多本编程类电子书
⑤ Python所有知识点汇总
⑥ 100个Python必背函数

辣条更新不易,后续时间会持续更新事件进展!!! 故事真是不过有辣条改进情结,更多的是为了让各位辣条们更好的消化接受
53523

目录
相关文章
|
7月前
|
数据采集 数据可视化 数据挖掘
冬天到了,用python给媳妇选一件有气质的大衣
冬天到了,用python给媳妇选一件有气质的大衣
50 4
冬天到了,用python给媳妇选一件有气质的大衣
|
10月前
|
数据采集 数据挖掘 Python
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
最全妙不可言。写出优雅的 Python 代码的七条重要技巧,2024年最新被面试官怼了还有戏吗
|
开发工具 Python
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
166 0
|
Python
五一太忙了没空回微信怎么办?Python解救你的双手!
五一太忙了没空回微信怎么办?Python解救你的双手!
151 0
|
Python
Python|小朋友崇拜圈
Python|小朋友崇拜圈
84 0
|
Python
python植物大战僵尸二十一之僵尸吃太阳花
python植物大战僵尸二十一之僵尸吃太阳花
149 0
|
Python
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
188 0
最长情的告白就是陪伴【Python七夕祝福】——那些浪漫的开始
|
数据可视化 Python
用Python告诉你,为什么宇宙的尽头是公务员!
大家好,我是志斌~ 昨天志斌在朋友圈看到了朋友发的河南烟草局2021年度大学生招聘拟录用人员公示名单后,发现现在连这一线生产操作岗位,很多人是硕士或者是海归,真是没想到内卷会如此严重!
225 0
用Python告诉你,为什么宇宙的尽头是公务员!
|
程序员 区块链 Python
Python帮助万千程序员远离猝死悲剧
既然他人不关心程序员,我们只能学会自我关怀了。今天我们就用Python来帮助万千程序员远离猝死!那么,今天我们用Python开发一个久坐提醒小工具,让每个程序员都能合理休息,定时起身走动走动,远离猝死危害!
218 0
|
数据采集 前端开发 开发工具
舔狗至高境界,学会这个技巧让你从舔狗升华到海王【Python趣味爬虫】
mport requests from lxml import etree ​ ​ smtp封装发信协议 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart ​ ​ ​ ​ ​ 发送邮箱 ​ msg_from = '1641324821@qq.com' passwd = 'fdltqccdspvedegj' ​ tos = ['xxxxxxxxx@qq.com', 'xxxxxxxxx@qq.com', 'xxxxxxxxx@qq.com', '
170 0