当前位置: 首页 > news >正文

7篇Python爬虫实例,直接代码可运行,全网最全,注释超详细(适合收藏)——2、爬取图片信息。

7篇Python爬虫实例,可直接运行,适合收藏

python爬虫7篇实例,分七个文章进行发布;第二篇:爬取图片信息。

  • 爬取图片信息,并将每张图片都下载下来。

爬虫主要三部分:
1、获取数据
2、数据解析
3、调用函数

  • 先上完整代码: 代码后面进行一步步解析。
import requests
from bs4 import BeautifulSoup
import osindex = range(2,5)
urls = []
for i in index:urls.append(f'https://pic.netbian.com/4kdongman/index_{i}.html')# https://pic.netbian.com/tupian/34851.html# 传入单个网页,获取网页上所有得图片链接
def craw_single_url(url):re = requests.get(url)re.encoding = 'gbk'soup = BeautifulSoup(re.text,'html.parser')pics_links = soup.find_all('img')links = []for link in pics_links:if 'uploads' not in link['src']:continuelinks.append(f'https://pic.netbian.com{link['src']}')return links# 传入图片链接,将图片下载到文件夹中
def imgs_download(links):for link in links:re = requests.get(link)pic_name = os.path.basename(link)with open(f'图片/{pic_name}','wb') as f:   # w : 写入 b : 二进制写入f.write(re.content)# 循环爬取的网页链接,将所有网页的 links 放入元组中
links = []
for url in urls:for link in craw_single_url(url):links.append(link)# 将所有的 link 图片下载下来
imgs_download(links)

1、获取数据

  • 该函数是获取该 url 链接下所有图片的链接
  • 函数返回值是:所有图片的链接
def craw_single_url(url):re = requests.get(url)          # 请求 urlre.encoding = 'gbk'             # gbk格式soup = BeautifulSoup(re.text,'html.parser')     # 创建一个 BeautifulSoup 对象,之后对其解析pics_links = soup.find_all('img')                       # 在soup 中找到 img 的链接links = []for link in pics_links:                                 # 循环每个链接if 'uploads' not in link['src']:                    # 判断是否正确的链接continuelinks.append(f'https://pic.netbian.com{link['src']}')   # 构建真正的图片链接return links

2、数据解析

  • 对获取到的图片 urls 进行解析
  • 循环 urls 下载图片到指定文件中
def imgs_download(links):                       # 下载图片函数for link in links:                          # 对传入图片链接进行循环re = requests.get(link)                 # 请求单个链接pic_name = os.path.basename(link)       # 获得图片的名字with open(f'图片/{pic_name}','wb') as f: # 打开 图片 文件夹进行写入 w : 写入 b : 二进制写入f.write(re.content)                 # 将图片保存到 图片 文件夹

3、进行调用

# 循环爬取的网页链接,将所有网页的 links 放入元组中
links = []              
for url in urls:                        # 循环每个页面for link in craw_single_url(url):   # 将每个页面得到的图片urls,放入 links列表   links.append(link)              # 放入 links列表   # 将所有的 link 图片下载下来
imgs_download(links)                    # 再调用 imgs_download 函数,对每张图片进行下载

http://www.mrgr.cn/news/66972.html

相关文章:

  • OpenHarmony
  • BERT框架
  • 【用Rust写CAD】第二章 第二节 函数
  • 聚划算!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测
  • Linux LCD屏幕亮度自动调节
  • 【Linux】网络相关的命令
  • Pimpl(Pointer to Implementation)模式详解
  • PMP--入栏需看
  • C++:多态中的虚/纯虚函数,抽象类以及虚函数表
  • 逻辑漏洞验证码识别
  • 2024中国国际数字经济博览会:图为科技携明星产品引领数智化潮流
  • AXI总线上的大小端
  • Python 爬虫:从入门到精通有这一篇文章就够了
  • 雷池社区版 7.1.0 LTS 发布了
  • JAVA开发支付(工作中学到的)
  • ssm+vue683基于VUE.js的在线教育系统设计与实现
  • 短视频矩阵系统的源码, OEM贴牌源码
  • 微服务系列四:热更新措施与配置共享
  • 少儿编程报课:家长如何选择并坚持机构?口碑和试听课成为关键
  • AI虚拟主播之语音模块的开发!
  • linux tar 打包为多个文件
  • 单测篇 - 如何mock静态常量
  • PCL 基于法线的最小距离约束寻找对应点对
  • 2025年15家软考培训机构测评!关注这12个关键点不会错!
  • 精准优化Elasticsearch:磁盘空间管理与性能提升技巧20241106
  • 基础 IO(文件系统 inode 软硬链接)-- 详解