脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python爬虫入门案例之回车桌面壁纸网美女图片采集

Python爬虫入门案例之回车桌面壁纸网美女图片采集

2022-01-25 00:13松鼠爱吃饼干 Python

读万卷书不如行万里路,学的扎不扎实要通过实战才能看出来,今天小编给大家带来一个python爬虫案例,采集回车桌面网站的美女图片,大家可以在过程中查缺补漏,看看自己掌握程度怎么样

知识点

  • requests
  • parsel
  • re
  • os

 

环境

  • python3.8
  • pycharm2021

 

目标网址:

https://mm.enterdesk.com/bizhi/63899-347866.html

Python爬虫入门案例之回车桌面壁纸网美女图片采集

【付费VIP完整版】只要看了就能学会的教程,80集Python基础入门视频教学

点这里即可免费在线观看

注意: 在我们查看网页源代码的时候 (1. 控制台为准 2. 以右键查看网页源代码 3. 元素面板)

  • 发送网络请求
  • 获取网页源代码
  • 提取想要的图片链接 css样式提取 xpath re正则表达式 bs4
  • 替换所有的图片链接 换成大图
  • 保存图片

 

爬虫代码

导入模块

import requests     # 第三方库 pip install requests
import parsel       # 第三方库 pip install parsel
import os           # 新建文件夹

发送网络请求

response = requests.get('https://mm.enterdesk.com/bizhi/64011-348522.html')

获取网页源代码

data_html = response_1.text

提取每个相册的详情页链接地址

selector_1 = parsel.Selector(data_html)
photo_url_list = selector_1.css('.egeli_pic_dl dd a::attr(href)').getall()
title_list = selector_1.css('.egeli_pic_dl dd a img::attr(title)').getall()
for photo_url, title in zip(photo_url_list, title_list):
  print(f'*****************正在爬取{title}*****************')
  response = requests.get(photo_url)
  # <Response [200]>: 请求成功的标识
  selector = parsel.Selector(response.text)
  # 提取想要的图片链接[第一个链接, 第二个链接,....]
  img_src_list = selector.css('.swiper-wrapper a img::attr(src)').getall()
  # 新建一个文件夹
  if not os.path.exists('img/' + title):
      os.mkdir('img/' + title)

替换所有的图片链接 换成大图

for img_src in img_src_list:
  # 字符串的替换
  img_url = img_src.replace('_360_360', '_source')

保存图片 图片名字

# 图片 音频 视频 二进制数据content
img_data = requests.get(img_url).content
# 图片名称 字符串分割
# 分割完之后 会给我们返回一个列表
img_title = img_url.split('/')[-1]
with open(f'img/{title}/{img_title}', mode='wb') as f:
  f.write(img_data)
print(img_title, '保存成功!!!')

翻页

page_html = requests.get('https://mm.enterdesk.com/').text
counts = parsel.Selector(page_html).css('.wrap.no_a::attr(href)').get().split('/')[-1].split('.')[0]
for page in range(1, int(counts) + 1):
  print(f'------------------------------------正在爬取第{page}页------------------------------------')
  发送网络请求
  response_1 = requests.get(f'https://mm.enterdesk.com/{page}.html')

爬取结果

Python爬虫入门案例之回车桌面壁纸网美女图片采集

Python爬虫入门案例之回车桌面壁纸网美女图片采集

Python爬虫入门案例之回车桌面壁纸网美女图片采集

到此这篇关于Python爬虫入门案例之回车桌面壁纸网美女图片采集的文章就介绍到这了,更多相关Python 图片采集内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://pythonjx.blog.csdn.net/article/details/120567725

延伸 · 阅读

精彩推荐