爬取League of Legends壁纸

详细思路与过程

网址:https://wall.alphacoders.com/search.php?search=League+of+Legends


把鼠标放置某一张图片上,就会出现该图片的link:

右键,查看网页源代码(没有这个选项的就换个浏览器):
并按ctrl+F,进行关键词检索,搜索你上一步看到的链接,比如我这里是i=536426

这是我们要的
接着把关键词改为

刚好30个标签,回去数一个主页面正是有30张图。所以可以确认这是我们要的。但是这是一个相对路径:

<div class='boxgrid'><a href="big.php?i=536426"

点进去这个图片,查看完整链接:

https://wall.alphacoders.com/big.php?i=536426

那么显然在获取href之后再前面加上:
https://wall.alphacoders.com/
就是完整的链接。

接下来的操作非常类似:
把鼠标放置某一张图片上,就会出现该图片的link,
在这个图片界面右键,查看源代码,
根据你刚刚看到的关键词检索:

轻轻松松又找到了


直接复制这个链接:
https://images7.alphacoders.com/536/536426.png
换一个浏览器发现可以直接打开

并且我们返回最开始的界面,点击下一页

https://wall.alphacoders.com/search.php?search=league+of+legends&page=2
https://wall.alphacoders.com/search.php?search=league+of+legends&page=3
https://wall.alphacoders.com/search.php?search=league+of+legends&page=4
https://wall.alphacoders.com/search.php?search=league+of+legends&page=5
https://wall.alphacoders.com/search.php?search=league+of+legends&page=6

发现每一页的规律其实 是

https://wall.alphacoders.com/search.php?search=league+of+legends&page=页数

那么接下来就可以编写爬虫代码了:

  1. 打开https://wall.alphacoders.com/search.php?search=League+of+Legendss&page=1
  2. 爬取当前页面的图片link
  3. 点击下一页,即把网址的page+1,重复第二步,直到爬完所需页数
  4. 分别点击每一张图,获取真正的图片link,保存图片

代码如下:

#网址:https://wall.alphacoders.com/search.php?search=League+of+Legendsimport requests
import re #正则表达式
import os
from lxml import etree #python的html/xml解析器
from multiprocessing import Pool    #进程池headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ''AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/78.0.3904.97 Safari/537.36'
}#获取当前页面图片链接
def get_pic_link(url):res = requests.get(url,headers)selector = etree.HTML(res.text)href = selector.xpath('//div[@class="boxgrid"]/a/@href')#得到一个列表links = []for i in href:link = 'https://wall.alphacoders.com/'+str(i)res2 = requests.get(link,headers)selector2 = etree.HTML(res2.text)href2 = selector2.xpath('//div[@class="center img-container-desktop"]/a/@href')print(href2[0])links.append(href2[0])return links#将图片保存到本地
def save_pic(link):html = requests.get(link,headers)#获取图片标题title = link.split(r'/')[-1]with open(title,'wb') as f:f.write(html.content)if __name__ == '__main__':try:begin = 3end = 6urls = []urls.extend('https://wall.alphacoders.com/search.php?search=league+of+legends&page={}'.format(i) for i in range(begin,end))#这里设置页数for i in range(begin,end):#得到每个页面图片地址pool = Pool(processes=8)pool.map(save_pic,get_pic_link(urls[i-begin]))print('已保存第',+i,'页')       except:print('error')

就会得到:




爱了爱了

爬取wall.alphacoders.com下的英雄联盟壁纸,爬虫完整过程相关推荐

  1. 多线程爬取wall.alphacoders壁纸

    一.网页地址分析 首先打开我们爬取的网站,在搜索框输入一个不存在的壁纸关键字,例如: 我们可以发现,网页跳转到了一个新网页, 可得,该网站的不同类别有不同的对应链接(但不是按照顺序排的,中间缺少几个数 ...

  2. Python零基础之爬取王者荣耀官方网站高清壁纸(普通版)

    Python零基础之爬取王者荣耀官方网站高清壁纸 目标: 分析过程: 1. 确定目标url 2. 解决url解析问题 3. 图片下载解析 4. 多页面的处理 代码示例 需要注意的问题: 目标: 1.下 ...

  3. python爬b站评论_一个简单的爬取b站up下所有视频的所有评论信息的爬虫

    心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...

  4. 教你用Python爬取表情包网站下的全部表情图片

    教你用Python爬取表情包网站下的全部表情图片 又是我啦~~~ 最近上网的时候老看到有人用Python爬取表情包,心痒痒自己也整了一个. 使用到的扩展库:BeautifulSoup, request ...

  5. python爬取本地天气信息_用Python写一个爬取中国天气网的终端版天气预报爬虫

    导语 前几篇文章介绍了爬取静态网站的主要方法.今天写一个小项目实践一下.本项目可以在终端窗口查询全国3400多个区县的当日天气信息和近七天天气信息. 实现效果 [Python爬虫]写一个爬取中国天气网 ...

  6. 教你用PHP爬取王者荣耀英雄皮肤高清壁纸(附源码)

    午饭后看到一篇文章关于"用Python爬取王者荣耀官网的英雄皮肤图片",于是顺手用PHP也写了一个,在这里给大家分享一下,贴出源码: //下载王者荣耀皮肤图片 public fun ...

  7. 想要快速爬取整站图片?速进(附完整代码)

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  8. 爬取5K分辨率超清唯美壁纸

    @[toc] 爬取5K分辨率超清唯美壁纸 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了, ...

  9. 5.爬取5K分辨率超清唯美壁纸

    目录 README.MD main.py requirement.txt 相信大家都很需要哪些既好看又能符合自己当时的心情的高清壁纸,很多时候壁纸反应我们当时的心情,一张好的壁纸就一道靓丽的风景,让人 ...

最新文章

  1. 细菌绝对定量的方法总结
  2. bzoj 2109 amp; 2535 空中管制 解读
  3. 网易云信三周年:我们只做第一
  4. __FUNCTION__, __FILE__, __LINE__ (原)
  5. 限时团购,6.5折:《C# 7.0 核心技术指南》
  6. 感量越大抑制频率约低_脉冲信号是什么?它与频率,占空比,正、负逻辑间是什么关系?...
  7. 分享Db4o的便捷封装类源码
  8. Python socket TCP
  9. css/html目录
  10. 计算机网络教程第五版|微课版 - 第四章 网络层 - 重点概念【补充】
  11. 利用PDM实现机械制造业的信息集成
  12. 聚焦 | 今年,金山云不一样的除夕夜
  13. OOM问题原理解析(四):Bitmap压缩方案总结
  14. WINDOWS 疑难杂症
  15. 一文深入分析|RCU原理
  16. 论文投稿指南——中文核心期刊推荐(数学)
  17. SOLIDWORKS Simulation实例分析演示
  18. 不到30岁就挣下亿万身家的创业者们
  19. jQuery ---- 插件
  20. python 欧氏距离_python - 如何用NumPy计算欧氏距离?

热门文章

  1. 29妙招教你如何防蚊止痒
  2. matlab script 怎样输入图片,LaTex编译问题 在下面的模板下,如何插入matlab的图片??...
  3. “价值感”:CEO的真实内在与企业外化
  4. golang协程实战之抓取豆瓣电影top数据
  5. MATLAB | 一起来绘制有雪花飘落的圣诞树叭
  6. SSM框架之酒店管理系统八(菜单管理)
  7. php stderr,Exec()后的PHP StdErr
  8. C#与三菱PLC通信(FX5U工控设备)
  9. Python中cv2.imread()函数不能读中文文件名文件
  10. 医学图像处理——入门篇(三)