爬取热榜2k图片,爬虫入门即可
一:作品预览
二:图片示例
三:知己知彼(剖析网页并保存到本地)
1.我们的目标网址是一个非常好的2k图片网站:https://wallhaven.cc/
2.我们的目标是它的热榜图片:## 3.点击其中一个图片,发现会跳转到其详情页。详情页的地址为:
详情页如下及2k图片源地址如下:
4.知道如何获取单个图片后,来看如何获取所有图片。右键点击检查打开开发者工具,发现每一页就是一个section。section下有很多li标签,里面存放着每个图片详情页的地址。
5.点击小倒三角,代码块收缩,右键copy将代码复制到本地。
5.新建一个记事本,将代码粘贴进去,将后缀名改为.html。
四:代码实操
1.导入相关库
import requests
from lxml import etree
import os
2.新建一个列表用于存放图片的详情页
img_url_list=[]#用于存放图片详情页的地址
3.用lxml里的etree实例化本地对象
tree=etree.parse('./1.html',etree.HTMLParser())#图片最后一次更新时间2022.03.25/wallhaven/toplist
4.获取页面列表
page_list=tree.xpath('//*[@id="thumbs"]/section')#xpath定位到页面标签section,获取到section组成的列表
5.查看复制的页面总数
print(len(page_list))#section的个数,即刚才复制的页面的数量,显示60,说明共60页
6.定义count,记录已经下载的图片数量
count=1
7.分别对每一页的每张图片的详情页地址请求,获取详情页的代码,xpath提取图片真实url,并保存。(re正则表达提取也很简单,好兄弟们可以试试哦。)
for page in range(1,3):li_list=page_list[page].xpath('./ul/li')for li in li_list:#分别对图片详情页请求之后实例化对象并且提取图片源地址tree=etree.HTML(requests.get(url=li.xpath('./figure/a/@href')[0],headers=headers).text)img_url=tree.xpath('//*[@id="wallpaper"]/@src')#如果爬取到图片源地址if img_url:img_url=img_url[0]img_url_list.append(tree.xpath('//*[@id="wallpaper"]/@src')[0])#对源地址请求获取图片二进制形式file=requests.get(img_url).contentfile_name=img_url.split('-')[-1]#文件夹不存在则新建if 'wallhaven_toplist_2' not in os.listdir('./'):os.makedirs('wallhaven_toplist_2')#持久化存储with open('./wallhaven_toplist_2/'+file_name,'wb') as f:f.write(file)print(f'第{count}张图片下载完成'+img_url.split('-')[-1],'下载完成...')count+=1
五:保存的html本地文件以及代码都放在爬虫实战里的wallhaven图片爬取1.0里,需要自取。(大家不要担心github进不去的问题,这里我给大家推荐一个快速进github的简单小妙招:下载网易uu加速器,选择学术资源加速即可)
六:不要说爬得慢,毕竟我不想吃牢饭。(欸,还挺顺口,另外,2k图很大,慢,你忍一下)
爬取热榜2k图片,爬虫入门即可相关推荐
- python爬取豆瓣电影信息_Python爬虫入门 | 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- python爬取网页数据软件_python爬虫入门10分钟爬取一个网站
一.基础入门 1.1什么是爬虫 爬虫(spider,又网络爬虫),是指向网站/网络发起请求,获取资源后分析并提取有用数据的程序. 从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HT ...
- python爬取网上租房信息_Python爬虫入门 | 5 爬取小猪短租租房信息
小猪短租是一个租房网站,上面有很多优质的民宿出租信息,下面我们以成都地区的租房信息为例,来尝试爬取这些数据. 1.爬取租房标题 按照惯例,先来爬下标题试试水,找到标题,复制xpath. 多复制几个房屋 ...
- 爬取热榜数据,通过Qt界面显示,代码可直接运行(python3经典编程案例)
代码如下: # -*- encoding: utf-8 -*- import sys from lxml import etree from requests import get from PyQt ...
- 使用Python爬虫爬取简单网页(Python爬虫入门)
今天我们来看一看使用Python爬取一些简单的网页. 所用工具:IDLE (Python 3.6 64-bit) 一. 爬取京东商品页面 我将要爬取的是这个东京商品页面信息,代码如下: import ...
- python爬取b站评论_Python爬虫入门【19】: B站博人传评论数据抓取 scrapy
1. B站博人传评论数据爬取简介 今天想了半天不知道抓啥,去B站看跳舞的×××姐,忽然看到了评论,那就抓取一下B站的评论数据,视频动画那么多,也不知道抓取哪个,选了一个博人传跟火影相关的,抓取看看.网 ...
- Python爬取网站图片(爬虫入门demo)
代码功能: 爬取网站的教师图片,在用户主机上创建好PNG文件夹保存共110张图片,同时把每张图片的老师介绍内容写入H3.txt文件中. 实现思路: 打开该网页后用F12查看网页的html原代码,发现图 ...
- 【selenium爬虫】用selenium自动化爬虫爬取海贼王动漫图片
以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/art ...
- Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
最新文章
- The CLR’s Execution Model(Chapter 1 of CLR via C#)
- DownloadManager 的使用
- linux用yum安装svn,linux下 yum安装svn
- ×××--PPTP 服务器配置(详细)
- 【基于Python】 - 人工智能机器学习深度学习数据分析 - 常见问题,常用的套路与操作(持续更新)
- 国内首位!Node.js社区将阿里云工程师张秋怡吸纳为CTC成员
- linux chown命令: 修改文件或目录的所有者或群组
- 49. 模型层 --- dao 层
- WSL使用史上最详细教程
- vivado仿真脚本生成
- 互联网网站的反爬虫策略浅析
- extmail mysql数据库 重启_一个简单的基于postfix+extmail+mysql的邮件系统
- 公钥加密数字签名证书的原理总结
- visio-软件程序流程图规范
- Xshell如何设置快捷复制、粘贴热键
- 个税计算公式excel_我月薪1万,为啥个税只交150块捏?
- mysql 储存特殊符号表情报错
- Linux 挂载光盘镜像配置本地 yum 源安装软件
- vue:高德地图的使用
- .net framework MVC ,API, 支持OAS3