文章目录

  • 一、分析页面
  • 二、爬取的关键步骤
    • 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~

案例(一)爬取优美图库风景壁纸相关推荐

  1. Python 爬取优美图库图片

    # !/usr/bin/env python # -*-coding:utf-8-*- # date :2021/7/23 17:53 # author:Sabo"""爬 ...

  2. python第一天----爬取优美图库的图片

    python第一天----爬取优美图库的图片 首先我们需要爬取的步骤: 1.选择爬取的网页,这里我选取的是https://www.umei.net/bizhitupian/,直接爬取的首页第一页的图片 ...

  3. Python使用bs4爬取优美图库

    '''爬取优美图库 ''' import requests from bs4 import BeautifulSoup import time from tqdm import tqdm# 爬取页面源 ...

  4. python爬取优美图库

    学了一段时间python,最近学习了一些python爬虫,今天写了一个爬取优美图库的的一段代码,下面给大家分享一下. 先看一下爬取的结果: 这段代码使用了下面的一些包,我们需要提前进行安装,在终端使用 ...

  5. python爬取优美图库海量图片,附加代码,一键爬取

    优美高清图片为大家提供高清美女套图赏析,非高清不录入,大家的网速要给力. 今天教大家爬取优美图库网站中高质量的图片!! 简单易上手哦~ 使用工具: Python 3.6 pycharm 相关环境: r ...

  6. 不可错过的爬虫实例(一):教你爬取优美图库

    一.前言 前几天有小伙伴私信我说能不能用爬虫爬取美女图片,那必须能啊,本次就用爬虫知识爬取你们想要的(懂得都懂),话不多说,正题开始! 二.准备工作 1.所用模块 requests Beautiful ...

  7. 爬取优美图库里的照片,并存到文件夹中

    爬取图片 前言 这篇博客里面主要写的就是爬取图片的实例,可能比较简单,大佬请指正啊,如果有不对的话 提示:以下是本篇文章正文内容,下面案例可供参考 一.代码如下 #https://www.umei.c ...

  8. python实战:爬取优美图库,将图片格式的本地存储

    import requests from bs4 import BeautifulSoup import time 解析主页面原代码,提取子页面url 通过子页面拿取内容,找到图片的下载地址 下载图片 ...

  9. 学习笔记:使用requests+Beautiful4爬取优美图库

    BeautifulSoup需要掌握: 1.find()方法 2.find_all()方法 requests基本掌握.get就行. 代码如下: import requests from bs4 impo ...

最新文章

  1. 网络慢是带宽不足?优化网络带宽的5个小窍门
  2. hdu 1520 没有上司的晚会
  3. 为什么百度首页的HTML源代码最后一行要多一行?浪费空间呀!
  4. 全球地区资料json 含中英文 经纬度_[喵咪软件推荐(1)]全球国家信息库
  5. WP7 WMAppManifest.xml各个属性作用
  6. extjs 文件加载、解析流程
  7. CMake笔记-使用CMake GUI生成MinGW的Makefiles及编译hiredis
  8. 语义分割江湖的那些事儿——从旷视说起
  9. mysql 唯一 标识符_mysql – 获取唯一标识符而不插入
  10. 【免费毕设】基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+lunwen)
  11. DeepRacer 找到的最好的奖励函数 reward function
  12. 汇编语言王爽实验17
  13. C#做小工具的时候碰到的问题
  14. 素材资源解析系统源码 代下程序 第三方平台下载站程序千图网千库网等素材网站下载网站
  15. matlab t分布 反函数,Excel 应用TINV函数计算学生的t分布的反函数
  16. 强制横屏java_Android强制设定横屏时,SurfaceView一直黑屏
  17. 人工智能和自动化之间,主要有区别吗?
  18. android inflate,Android inflate view的两种方式
  19. Perl 6 - CPAN
  20. ASP.NET MVC 支付宝sdk 查询订单状态 填坑攻略

热门文章

  1. PS如何制作圆角矩形图片
  2. 博弈论--耶鲁大学公开课
  3. 【在线电子书转换】云展网教程 | 如何设置电子书的翻页速度?
  4. 你还在为校园内丢失东西无处可寻而发愁吗?速戳进来
  5. Java 练习之回合制游戏,练习接口,随机,数组,可变参数
  6. javascript技巧搜集。
  7. 用Python写一个拼音输入法
  8. oracle 12c手册chm,oracle11g中文手册chm
  9. hexo添加点击爆炸效果 duang duang duang
  10. 解释程序与编译程序的区别