Python爬虫 - 获取网站图片写入Excel

一、上代码

from pyquery import PyQuery as pq
import requests
from openpyxl import Workbook

def get_image_urls(url):
    # 发起网络请求获取页面内容
    response = requests.get(url)
    html = response.text

    # 使用 PyQuery 解析 HTML
    doc = pq(html)

    # 获取页面上所有图片的 URL
    image_urls = []
    for img in doc('img').items():
        img_url = img.attr('src')
        if img_url and not img_url.startswith('data:'):
            # 如果图片 URL 不是以 'data:' 开头(即不是 base64 编码的图片),则加入列表
            image_urls.append(img_url)

    return image_urls

def write_image_urls_to_excel(image_urls, excel_filename):
    # 创建一个新的工作簿
    wb = Workbook()
    # 激活默认的工作表
    ws = wb.active
    # 设置表头
    ws.append(['Image URLs'])

    # 将图片 URL 写入表格
    for url in image_urls:
        ws.append([url])

    # 保存工作簿
    wb.save(excel_filename)

if __name__ == '__main__':
    url = 'https://www.xxx.com/'
    image_urls = get_image_urls(url)

    # 指定要保存到 D 盘的 Excel 文件路径
    excel_filename = 'D:/img.xlsx'

    write_image_urls_to_excel(image_urls, excel_filename)

二、运行结果

三、运行环境

Idea

四、代码解释

1. get_image_urls(url) 函数用来从指定 URL 获取页面内容,并使用 PyQuery 解析 HTML,提取所有图片的 URL。
2. write_image_urls_to_excel(image_urls, excel_filename) 函数用来将获取到的图片 URL 写入到 Excel 文件中。它创建一个新的工作簿,将图片 URL 写入到第一个工作表的第一列,并保存到指定的路径 excel_filename(这里指定为 D:/img.xlsx)。
3. 确保在运行代码之前,你已经安装了 pyquery 和 openpyxl 库,可以通过 pip install pyquery openpyxl 进行安装。如果使用Idea直接import下载就好,很方便

当你运行这段代码时,它将从指定的网页(https://www.xxx.com/)获取所有图片的 URL,并将这些 URL 写入到 D:/img.xlsx 文件中。

五、PyQuery优点

PyQuery 是一个非常方便的库,特别适合用于解析和操作 HTML/XML 文档。它的一些优点包括:

  1. jQuery 风格的语法: PyQuery 的语法设计类似于 jQuery,对于熟悉 jQuery 的开发者来说,学习成本低,能够快速上手。

  2. 简洁而强大的选择器: PyQuery 提供了强大的选择器功能,可以通过类似于 CSS 选择器的语法来定位和操作文档中的元素,这使得处理和筛选文档元素变得非常便捷。

  3. 链式操作: 可以通过链式操作来依次进行多个操作,使得代码看起来更加清晰和紧凑。

  4. 支持批量操作: 可以方便地对文档中多个元素进行批量操作,例如批量获取属性、修改内容等。

  5. 强大的 DOM 操作能力: PyQuery 提供了丰富的 DOM 操作方法,包括增删改查等,使得处理 HTML/XML 文档变得非常灵活和高效。

  6. 支持链式筛选和遍历: 可以通过链式调用的方式来进行筛选和遍历文档元素,对于复杂的文档结构特别有帮助。

  7. 可扩展性和插件支持: PyQuery 可以通过插件扩展其功能,例如支持 XPath、CSS3 选择器等,满足更多特定的需求。

PyQuery 是处理和操作 HTML/XML 文档的一种高效、简洁的选择,特别适合需要进行数据提取、信息抽取或者简单页面解析的应用场景。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值