案例(一)爬取优美图库风景壁纸
文章目录
- 一、分析页面
- 二、爬取的关键步骤
- 2.1 初步信息获取
- 2.2 查找抓取信息
- 2.3 抓取新页面
- 2.4 获取新页面的图片真正的下载地址
- 2.5 遍历所有新页面的抓取信息,获取图片的SRC属性
- 三、完整代码
- 四、总结
一、分析页面
网页链接:https://www.umei.cc/bizhitupian/fengjingbizhi/index.htm
通过分析得出:
1、图片的下载地址在新的页面(newpage_url)img标签的src属性里面
2、由于BeautiSoup就是借助网页的结构和属性等特性来解析网页的,因此使用BeautifulSoup更快更高效。
二、爬取的关键步骤
2.1 初步信息获取
请求方式:GET
实际请求地址:https://www.umei.cc/bizhitupian/fengjingbizhi/index.htm
用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36
请求参数:无
2.2 查找抓取信息
soup = BeautifulSoup(res.text,"html.parser")
a_list = soup.find("div",class_="TypeList").find_all("a")
2.3 抓取新页面
拼接新打开页面地址:item_url = “https://www.umei.cc” + item[‘href’]
item_res = requests.get(item_url)
item_res.encoding='utf-8'
item_soup = BeautifulSoup(item_res.text,'html.parser')
2.4 获取新页面的图片真正的下载地址
p_list = item_soup.find('div',class_='ImageBody').find_all('p',align="center")
2.5 遍历所有新页面的抓取信息,获取图片的SRC属性
for img_list in p_list:img_src = img_list.find("img")["src"]
三、完整代码
import requests
from bs4 import BeautifulSoup
import time
import randomurl = "https://www.umei.cc/bizhitupian/fengjingbizhi/index.htm"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"
}
res = requests.get(url, headers=headers)
res.encoding = "utf-8"# bs对象
soup = BeautifulSoup(res.text, "html.parser")
div = soup.find("div", class_="TypeList")
a_list = soup.find("div", class_="TypeList").find_all("a")
for item in a_list:# img里面的地址是资源地址# 新网页的地址newpage_url = "https://www.umei.cc" + item['href']# 访问newpage_urlnewpage_res = requests.get(newpage_url)# 构建bs对象newpage_soup = BeautifulSoup(newpage_res.text, "html.parser")# 图片的下载地址在p标签的img标签的src属性里面里img_src = newpage_soup.find("p", align="center").find("img")['src']img_name = img_src.split("/")[-1]img_res = requests.get(img_src)with open("img/"+img_name, mode="wb") as f:f.write(img_res.content)print(img_name+"is complete!")# 降低服务器负担time.sleep(1+random.random())
爬取的30张图片~
四、总结
第一,这里只抓取了一页的图片,可以通过构建抓取页面地址列表,封装抓取函数爬取多页图片。第二,设置文件夹属性为Excluded,避免每次下载图片时python自动为图片建立索引,提高程序性能。
写blogs就像复盘一样,哈哈!下一个案例写爬取北京新发地菜价,记录一下成长足迹还是很不错滴~
Take a few minutes to appreciate what you have and how far you’ve come~
案例(一)爬取优美图库风景壁纸相关推荐
- Python 爬取优美图库图片
# !/usr/bin/env python # -*-coding:utf-8-*- # date :2021/7/23 17:53 # author:Sabo"""爬 ...
- python第一天----爬取优美图库的图片
python第一天----爬取优美图库的图片 首先我们需要爬取的步骤: 1.选择爬取的网页,这里我选取的是https://www.umei.net/bizhitupian/,直接爬取的首页第一页的图片 ...
- Python使用bs4爬取优美图库
'''爬取优美图库 ''' import requests from bs4 import BeautifulSoup import time from tqdm import tqdm# 爬取页面源 ...
- python爬取优美图库
学了一段时间python,最近学习了一些python爬虫,今天写了一个爬取优美图库的的一段代码,下面给大家分享一下. 先看一下爬取的结果: 这段代码使用了下面的一些包,我们需要提前进行安装,在终端使用 ...
- python爬取优美图库海量图片,附加代码,一键爬取
优美高清图片为大家提供高清美女套图赏析,非高清不录入,大家的网速要给力. 今天教大家爬取优美图库网站中高质量的图片!! 简单易上手哦~ 使用工具: Python 3.6 pycharm 相关环境: r ...
- 不可错过的爬虫实例(一):教你爬取优美图库
一.前言 前几天有小伙伴私信我说能不能用爬虫爬取美女图片,那必须能啊,本次就用爬虫知识爬取你们想要的(懂得都懂),话不多说,正题开始! 二.准备工作 1.所用模块 requests Beautiful ...
- 爬取优美图库里的照片,并存到文件夹中
爬取图片 前言 这篇博客里面主要写的就是爬取图片的实例,可能比较简单,大佬请指正啊,如果有不对的话 提示:以下是本篇文章正文内容,下面案例可供参考 一.代码如下 #https://www.umei.c ...
- python实战:爬取优美图库,将图片格式的本地存储
import requests from bs4 import BeautifulSoup import time 解析主页面原代码,提取子页面url 通过子页面拿取内容,找到图片的下载地址 下载图片 ...
- 学习笔记:使用requests+Beautiful4爬取优美图库
BeautifulSoup需要掌握: 1.find()方法 2.find_all()方法 requests基本掌握.get就行. 代码如下: import requests from bs4 impo ...
最新文章
- 网络慢是带宽不足?优化网络带宽的5个小窍门
- hdu 1520 没有上司的晚会
- 为什么百度首页的HTML源代码最后一行要多一行?浪费空间呀!
- 全球地区资料json 含中英文 经纬度_[喵咪软件推荐(1)]全球国家信息库
- WP7 WMAppManifest.xml各个属性作用
- extjs 文件加载、解析流程
- CMake笔记-使用CMake GUI生成MinGW的Makefiles及编译hiredis
- 语义分割江湖的那些事儿——从旷视说起
- mysql 唯一 标识符_mysql – 获取唯一标识符而不插入
- 【免费毕设】基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+lunwen)
- DeepRacer 找到的最好的奖励函数 reward function
- 汇编语言王爽实验17
- C#做小工具的时候碰到的问题
- 素材资源解析系统源码 代下程序 第三方平台下载站程序千图网千库网等素材网站下载网站
- matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
- 强制横屏java_Android强制设定横屏时,SurfaceView一直黑屏
- 人工智能和自动化之间,主要有区别吗?
- android inflate,Android inflate view的两种方式
- Perl 6 - CPAN
- ASP.NET MVC 支付宝sdk 查询订单状态 填坑攻略