先爬取英雄图片

导入库

import requests
import re
from bs4 import BeautifulSoup
import urllib

爬取网页html

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47'}
def get_html(url): # 模拟浏览器访问response = requests.get(url, headers=headers)  # 访问网站response.encoding = response.apparent_encoding #字符编码格式html = response.text  # 获取网页源码return html

再找出html里面所有以png结尾的图片链接,保存到本地

r = get_html('https://ow.blizzard.cn/heroes/')
bs=BeautifulSoup(r,'html.parser')
#正则表达式爬取img以png结尾的链接
img_urls=bs.find_all('img', {'src': re.compile('.+(.png)$')})
for i in range(len(img_urls)):url = img_urls[i]['src']# 下载图片urllib.request.urlretrieve(url, 'C:/Users/15584/Desktop/overwatch/picture/' +"hero"+str(i) + '.jpg')

再获取每个英雄的具体描述。

首先找出所有的内链接并且以/heroes开头

#正则表达式爬取以/heroes开头的内链接
for link in bs.find_all('a',href=re.compile('^((\/heroes.))')):a.append(link.text)if 'href' in link.attrs:b.append(link['href'])

再访问内链接,找出所有的p标签

url="https://ow.blizzard.cn"
for link1 in b:c.append(url+link1)
for link2 in c:r1 = get_html(link2)bs1=BeautifulSoup(r1,'html.parser')#print(bs1.p.text)d.append(bs1.find_all('p'))

再对找出来的p标签进行去除多余的html

for content in d:content = str(content)# 使用正则表达式匹配找到的文本内容中的所有<.*?>的标签pattern = re.compile(r'<.*?>|\n|\s', re.S)# 将匹配到的内容用空来替换content_list = pattern.sub('', content)e.append(content_list)
#删除列表中第一个元素

最后保存为文件

#删除列表中第一个元素
del(e[0])
#依次保存文件
for j in range(len(e)):    with open("C:\\Users\\15584\\Desktop\\overwatch\\hero describe\\"+"hero"+str(j)+'.txt', mode='w', encoding='utf-8') as f:f.write(e[j])

结果展示如下:

会在overwatch下产生两个文件夹

产看picture为英雄图片,hero describe为英雄描述

随机查看一个英雄的描述

完整代码如下:

(代码比较粗糙,还需后期修改)

import requests
import re
from bs4 import BeautifulSoup
import urllib
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 Edg/94.0.992.47'}
def get_html(url): # 模拟浏览器访问response = requests.get(url, headers=headers)  # 访问网站response.encoding = response.apparent_encoding #字符编码格式html = response.text  # 获取网页源码return html
a=[]
b=[]
c=[]
d=[]
e=[]
r = get_html('https://ow.blizzard.cn/heroes/')
bs=BeautifulSoup(r,'html.parser')
#正则表达式爬取img以png结尾的链接
img_urls=bs.find_all('img', {'src': re.compile('.+(.png)$')})
for i in range(len(img_urls)):url = img_urls[i]['src']# 下载图片urllib.request.urlretrieve(url, 'C:/Users/15584/Desktop/overwatch/picture/' +"hero"+str(i) + '.jpg')
#正则表达式爬取以/heroes开头的内链接
for link in bs.find_all('a',href=re.compile('^((\/heroes.))')):a.append(link.text)if 'href' in link.attrs:b.append(link['href'])
url="https://ow.blizzard.cn"
for link1 in b:c.append(url+link1)
for link2 in c:r1 = get_html(link2)bs1=BeautifulSoup(r1,'html.parser')#print(bs1.p.text)d.append(bs1.find_all('p'))
for content in d:content = str(content)# 使用正则表达式匹配找到的文本内容中的所有<.*?>的标签pattern = re.compile(r'<.*?>|\n|\s', re.S)# 将匹配到的内容用空来替换content_list = pattern.sub('', content)e.append(content_list)
#删除列表中第一个元素
del(e[0])
#依次保存文件
for j in range(len(e)):    with open("C:\\Users\\15584\\Desktop\\overwatch\\hero describe\\"+"hero"+str(j)+'.txt', mode='w', encoding='utf-8') as f:f.write(e[j])

python爬取守望先锋英雄图片以及描述相关推荐

  1. Python爬取王者荣耀英雄图片及装备

    在玩王者荣耀的时候一直想把装备合英雄的图片保存下来,但是官网的单个图片保存太慢一气之下写了个爬虫. 1.爬取装备 import requests from bs4 import BeautifulSo ...

  2. Python爬取王者荣耀英雄的皮肤数据并下载皮肤图片项目

    Python爬取王者荣耀英雄的皮肤数据,并下载皮肤图片!高清的图片用来做桌面也不错哟~ 网址:https://pvp.qq.com/web201605/herolist.shtml 1.获得英雄信息, ...

  3. 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)

    教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...

  4. Python爬取 | 王者荣耀英雄皮肤海报

    这里只展示代码,具体介绍请点击下方链接. Python爬取 | 王者荣耀英雄皮肤海报 import requests import re import os import time import wi ...

  5. python爬取图片-Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...

  6. Java爬虫 --- 爬取王者荣耀英雄图片

    Java爬虫 - 爬取王者荣耀英雄图片 import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Docu ...

  7. Python 爬取陈都灵百度图片

    Python 爬取陈都灵百度图片 标签(空格分隔): 随笔 今天意外发现了自己以前写的一篇爬虫脚本,爬取的是我的女神陈都灵,尝试运行了一下发现居然还能用.故把脚本贴出来分享一下. import req ...

  8. 用Python爬取彼岸图网图片

     用Python爬取彼岸图网图片 *使用了  四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装. ...

  9. python如何爬取网页视频_快就完事了!10分钟用python爬取网站视频和图片

    原标题:快就完事了!10分钟用python爬取网站视频和图片 话不多说,直接开讲!教你如何用Python爬虫爬取各大网站视频和图片. 638855753 网站分析: 我们点视频按钮,可以看到的链接是: ...

  10. Python爬取国家地理杂志的图片

    一.简介:Python爬取国家地理杂志的图片 二.代码展示 from bs4 import BeautifulSoup import requests import osos.mkdir('./img ...

最新文章

  1. Python3 pathlib让编程更美好
  2. STM32F405的 ADC参考电压选择问题
  3. “阿里云 Cloud AIoT Native” 等你一“名”惊人
  4. leetcode24题:两两交换链表的节点
  5. 【文文殿下】Manache算法-学习笔记
  6. Ajax与Comet
  7. 如何在 Windows Server 2003 中配置权威时间服务器
  8. 转自 方倍工作室微信公众平台开发
  9. 【Git项目管理工具推荐】Sourcetree、Sourcegear-DiffMerge
  10. 有一种毒药叫成功---成功学的泛滥与迷失
  11. 用STEP7-MicroWIN SMART能搜索到CPU 也能控制PLC指示灯闪烁,但是下载程序仍提示当前IP地址失败请检查IP地址、网络连接
  12. hp 800 g4 twr linux,【拆机】HP EliteDesk 800 G4 TWR—探究塔式机箱的秘密
  13. 如何利用 C# 爬取「猫眼电影:国内票房榜」及对应影片信息!
  14. html怎么做下雨效果,Canvas制作的下雨动画的示例
  15. 终于有人把TCP/IP讲的明明白白了,搞懂真的不难,只需要看这一篇就够了
  16. 关于向上转型和向下转型
  17. android studio模拟手机黑屏,Android Studio 模拟器启动问题——黑屏 死机 解决方法...
  18. 【力扣】729. 我的日程安排表 I
  19. scp:windows与linux之间copy文件(类似于linux的scp工具)
  20. 如何把html5设置为桌面背景,怎么将照片设置为电脑桌面

热门文章

  1. 云和恩墨助力大地保险新核心业务系统上线,开启数字化保险4.0时代
  2. 煮酒论AI,看看大牛怎么说
  3. 2017春招实习-Android开发面经-bat,td等公司
  4. chrome 清理缓存
  5. SQL Server中自定义函数:用指定的分隔符号分割字符串
  6. mysql 百亿级数据统计实现_如何实现上亿级数据的精准计数?
  7. 将文件夹中的图片按照文件名进行标签分类
  8. 安卓开关Switch使用的小细节
  9. 实现平方根函数sqrt
  10. 牛顿迭代法实现平方根函数