对面都是麻瓜 2023-02-19 15:40 采纳率: 100%
浏览 85
已结题

如何批量保存网页链接中的pdf文件

想要保存网页上的pdf文件,但是数量很多,需要点开去保存有点慢,有没有其他方法可以批量保存

  • 写回答

16条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-19 15:49
    关注

    基于Monster 组和GPT的调写:
    以下是几种可能的方法:

    1.使用浏览器插件:许多浏览器都有可以批量下载文件的插件。例如,Chrome浏览器中有一个名为"Download Master"的扩展,可以下载整个页面中的所有PDF文件。使用这些扩展可以提高效率,并节省时间。

    2.使用命令行工具:如果熟悉命令行工具,可以使用一些命令行工具来下载整个页面中的PDF文件。例如,使用Wget命令可以快速下载整个页面中的所有PDF文件。

    wget -r -l1 -A.pdf http://example.com
    
    
    

    这将下载当前页面中的所有 PDF 文件,包括在页面上嵌入的 PDF 文件,而不仅仅是页面中的链接
    3.使用Python脚本:如果熟悉Python编程语言,可以编写一个简单的Python脚本来批量下载页面上的PDF文件。使用Python,可以轻松地从网页中提取所有PDF链接,并自动下载它们。
    简单的Python脚本,

    import requests
    import os
    
    url_prefix = 'https://www.example.com/pdfs/'
    pdf_filename = 'pdf\\'
    
    if not os.path.exists(pdf_filename):
        os.mkdir(pdf_filename)
    
    for page in range(1, 11):
        print(f'正在爬取第{page}页数据内容')
        url = f'https://www.example.com/page/{page}'  # 页数对应的url
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'}
        response = requests.get(url=url, headers=headers)
        hrefs = re.findall('<a href="(.*?\.pdf)"', response.text)
        for index, href in enumerate(hrefs):
            pdf_url = url_prefix + href
            response_1 = requests.get(url=pdf_url, headers=headers)
            title = f'pdf_{page}_{index+1}.pdf'
            pdf_path = pdf_filename + title
            try:
                with open(pdf_path, mode='wb') as f:
                    f.write(response_1.content)
                print(f'{title}保存成功...')
            except:
                pass
    
    

    查找所有带有“.pdf”扩展名的链接,并使用requests模块下载这些链接指向的PDF文件,将其保存到本地文件中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(15条)

报告相同问题?

问题事件

  • 系统已结题 2月27日
  • 已采纳回答 2月19日
  • 赞助了问题酬金15元 2月19日
  • 创建了问题 2月19日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100