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

爬虫项目(四):抓取网页所有图片

文章目录

    • 一、书籍推荐
    • 二、完整代码
    • 三、运行结果

一、书籍推荐

推荐本人书籍《Python网络爬虫入门到实战》 ,详细介绍见👉: 《Python网络爬虫入门到实战》 书籍介绍

二、完整代码

原理:抓取该链接中所有的图片格式。基于selenium来获取,自动下载到output文件夹中。

from selenium import webdriver
import requests as rq
import os
from bs4 import BeautifulSoup
import time

# Enter Path : chromedriver.exe
# Enter URL : http://www.netbian.com/meinv/index_2.htm

path = input("Enter Path : ")
url = input("Enter URL : ")
output = "output"


def get_url(path, url):
    driver = webdriver.Chrome(executable_path=r"{}".format(path))
    driver.get(url)
    print("loading.....")
    res = driver.execute_script("return document.documentElement.outerHTML")
    return res


def get_img_links(res):
    soup = BeautifulSoup(res, "lxml")
    imglinks = soup.find_all("img", src=True)
    return imglinks


def download_img(img_link, index):
    try:
        extensions = [".jpeg", ".jpg", ".png", ".gif"]
        extension = ".jpg"
        for exe in extensions:
            if img_link.find(exe) > 0:
                extension = exe
                break
        img_data = rq.get(img_link).content
        with open(output + "\\" + str(index + 1) + extension, "wb+") as f:
            f.write(img_data)
        f.close()
    except Exception:
        pass


result = get_url(path, url)
time.sleep(60)
img_links = get_img_links(result)
if not os.path.isdir(output):
    os.mkdir(output)
for index, img_link in enumerate(img_links):
    img_link = img_link["src"]
    print("Downloading...")
    if img_link:
        download_img(img_link, index)
print("Download Complete!!")

三、运行结果

如下所示:
在这里插入图片描述

相关文章:

  • Linux知识
  • Pytorch(GPU)环境安装
  • 华为OD机试 - 计算面积 - 逻辑分析(Java 2023 B卷 100分)
  • 软件定制APP开发步骤分析|小程序
  • C语言关于自定义字符函数和字符串函数的相关笔试题(找工作必看)
  • inject和provide源码
  • 【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城
  • Vue系列(四)之 Vue路由介绍和Node.js的环境搭建
  • http的网站进行访问时候自动跳转至https
  • 【C++】泛型算法(五)泛型算法的使用与设计
  • 使用scss简化媒体查询
  • 国家网络安全宣传周知识竞赛活动小程序界面分享
  • day44 数据库查询命令
  • SpringBoot3基础:最简项目示例
  • linux下文件操作命令
  • 工作比读研简单多了
  • cpolar内网穿透
  • 淘宝分布式文件存储系统( 二 ) -TFS
  • c++模板初阶
  • 行情分析——加密货币市场大盘走势
  • 荣膺劳伦斯大奖实至名归,杜普兰蒂斯的传奇没有极限
  • 新华社经济随笔:机器人“摔倒、爬起”的背后
  • “代课老师被男友杀害案”一审开庭,将择期宣判
  • 广西出现今年首场超警洪水
  • 学者建议:引入退休教师、青少年宫参与课后服务,为教师“减负”
  • 云南省交通发展投资有限责任公司原党委书记、董事长陈以东接受审查调查