如何使用 wget 模块从 URL 列表下载 PDF?

2023-11-30

我有一个 Python 脚本,它可以从website与 Selenium 并将它们存储在列表中。现在,我想用以下命令下载它们wget module.

这是代码的相关部分,其中脚本完成了从网站获取的部分 URL:

new_links = []
for link in list_of_links: # trim links
    current_strings = link.split("/consultas/coleccion/window.open('")
    current_strings[1] = current_strings[1].split("');return")[0]
    new_link = current_strings[0] + current_strings[1]
    new_links.append(new_link)

for new_link in new_links:
    wget.download(new_link)

此时脚本不执行任何操作。它从不下载任何 PDF,也不会显示任何错误消息。

第二次我做错了什么for loop?

至于问题是否new_links是空的。它不是。

print(*new_links, sep = '\n')

给我这样的链接(这里只是其中的四个):

http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=vPjrUnz0wbA%3D
http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=dsyx6l1Fbig%3D
http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=Cb64W7EHlD8%3D
http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=A4TKEG9x4F8%3D

部分 URL 如下所示:

/consultas/util/pdf.php?type=rdd&rdd=vPjrUnz0wbA%3D`

然后在其前面添加“基本URL”

http://digesto.asamblea.gob.ni

这是代码的相关部分,位于上面的代码之前,它收集部分 URL:

list_of_links = []    # will hold the scraped links
tld = 'http://digesto.asamblea.gob.ni'
current_url = driver.current_url   # for any links not starting with /
table_id = driver.find_element(By.ID, 'tableDocCollection')
rows = table_id.find_elements_by_css_selector("tbody tr") # get all table rows
for row in rows:
    row.find_element_by_css_selector('button').click()
    link = row.find_element_by_css_selector('li a[onclick*=pdf]').get_attribute("onclick") # get partial link
    if link.startswith('/'):
        list_of_links.append(tld + link) # add base to partial link
    else:
        list_of_links.append(current_url + link)
    row.find_element_by_css_selector('button').click()

你的循环正在工作。

尝试将 wget 版本升级到 3.2 并检查

new_links = ['http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=vPjrUnz0wbA%3D',
'http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=dsyx6l1Fbig%3D',
'http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=Cb64W7EHlD8%3D',
'http://digesto.asamblea.gob.ni/consultas/util/pdf.php?type=rdd&rdd=A4TKEG9x4F8%3D']

for new_link in new_links:
    wget.download(new_link)

输出:下载了四个文件,文件名分别为 pdf.php、pdf(1).php 等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 wget 模块从 URL 列表下载 PDF? 的相关文章

  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • Tensorboard SyntaxError:语法无效

    当我尝试制作张量板时 出现语法错误 尽管开源代码我还是无法理解 我尝试搜索张量板的代码 但不清楚 即使我不擅长Python 我这样写路径C Users jh902 Documents logs因为我正在使用 Windows 10 但我不确定
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • 为什么一旦我离开内置的运行服务器,Django 就无法找到我的管理媒体文件?

    当我使用内置的简单服务器时 一切正常 管理界面很漂亮 python manage py runserver 但是 当我尝试使用 wsgi 服务器为我的应用程序提供服务时django core handlers wsgi WSGIHandle
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • 如何将 GAE 中一种 Kind 中的所有实体复制到另一种 Kind 中,而无需显式调用每个属性

    我们如何使用function clone entity 如中所述在 Python 中复制 Google App Engine 数据存储中的实体 而无需在 编译 时知道属性名称 https stackoverflow com question
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • Python:Goslate 翻译请求返回“503:服务不可用”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们不允许提出寻求书籍 工具 软件库等推荐的问题 您可以编辑问题 以便用事实和引文来回答 这个问题似乎不是关于主要由程序员使用的特定编程问
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 如何使用 PrimaryKeyRelatedField 更新多对多关系上的类别

    Django Rest 框架有一个主键相关字段 http www django rest framework org api guide relations primarykeyrelatedfield其中列出了我的 IDmany to m
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • 如何将Python3设置为Mac上的默认Python版本?

    有没有办法将 Python 3 8 3 设置为 macOS Catalina 版本 10 15 2 上的默认 Python 版本 我已经完成的步骤 看看它安装在哪里 ls l usr local bin python 我得到的输出是这样的

随机推荐

  • D3 强制布局 - .exit().remove() 只是在刻度事件上返回错误

    我有一个问题link exit remove and 节点 exit remove 如果我在initializeGraph方法中设置它 那么我认为tick函数会出现一些错误 所以我的问题是我如何或为什么会收到这些错误 Uncaught Ty
  • 为什么 Perl 的 Try::Tiny 的 try/catch 没有给出与 eval 相同的结果?

    为什么带有 try catch 的子例程没有给出与 eval version 相同的结果 usr bin env perl use warnings use strict use 5 012 use Try Tiny sub shell c
  • C++ stl 容器的重载 << 运算符

    我希望我可以使用 cout 有没有一种我不知道的简单方法可以打印它们 如果没有 有简单的解决方案吗 我在一些地方读到扩展 stl 类是一个坏主意 是这样吗 为什么 定义一个重载打印函数之类的东西怎么样 编辑 我正在寻找一个递归函数 它可以处
  • 将多个查询数据放入单个 HTML 表中(PHP、MySQL)

    这是我当前的代码 我正在尝试将来自三个单独查询的数据显示到具有多个列的单个表中 我的 while 语句在这里有错吗 它打印 1 个表数据 然后打印后面的数 据 而不是在同一行中打印旁边的数据 echo table border 1 tr t
  • 如何从asp.net中动态生成的复选框列表中获取复选框值

    在 Web 表单中 我动态创建一系列添加到 asp placeholder 的复选框 Generates the List of Entities that may be shared protected void GenerateEnti
  • Django 石墨烯中继 order_by (OrderingFilter)

    我有一个带有继电器和过滤器的石墨烯接口 它工作得很好 但我想添加 order by 选项 我的对象看起来像 class FooGQLType DjangoObjectType class Meta model Foo exclude fie
  • PUT上传未填充$_FILES

    我正在使用 PUT 方法在前端使用 dropzone js 上传文件 然而 当我想处理文件时 Symfony 的Request对象和 FILES数组为空 我已经检查了所有内容这个巨大的清单它对我没有帮助 因为它没有说明任何有关通过 PUT
  • C# 中循环异步任务列表

    我正在尝试连续解析来自多个网站的数据 我希望以异步方式在循环中单独执行此操作 直到程序关闭 我不确定这种逻辑的结构应该是什么 现在我正在遵循这个模式 async public void ParseAll List
  • 在 C# Windows 应用程序中指定主题 id 的位置

    我是 C Windows 应用程序的新手 我想使用添加自定义帮助文件帮助提供者从 Microsoft Visual Studio 2010 for Windows 应用程序的工具栏 我可以添加我的帮助文件 效果很好 我想要上下文相关的帮助
  • API Gateway HTTP 代理与无服务器离线集成(不是 Lambda 代理)

    我正在尝试使用 serverless offline 在本地开发 模拟我的 API 网关 我的 API 网关充分利用HTTP 代理集成 生产资源如下所示 我根据一些文档和讨论创建了一个无服务器离线配置 这些文档和讨论表明可以使用 Cloud
  • 在 Android 应用程序中创建 .CSV 文件

    怎样才能创造 csvAndroid 应用程序中的文件 我们将在其中存储一些数据 例如一些员工详细信息 从下载库 here 并将 jar 文件添加到您的应用程序中 在你的应用程序内部做 CSVWriter writer null try wr
  • 放气压缩流,可以插入预压缩数据。 .NET 库是否存在?

    我正在为网页内容实施 Deflate 和 GZip 压缩 NET Framework DeflateStream 的性能非常好 它的压缩效果不如 SharpZipLib 但速度要快得多 不幸的是 它 以及我知道的所有其他库 错过了写入预压缩
  • 将字符串打印到文本文件[重复]

    这个问题在这里已经有答案了 我正在使用 Python 打开一个文本文档 text file open Output txt w text file write Purchase Amount TotalAmount text file cl
  • 这个通知指的是什么

    注意 未定义索引 第 12 行 C wamp www espn com registration php 中的名称 注意 未定义索引 第 13 行 C wamp www espn com registration php 中的用户名 注意
  • 访问 Blade 中的 Laravel .env 变量 [重复]

    这个问题在这里已经有答案了 我正在尝试获取一些存储在 env 文件中的 API 密钥 以便在 Blade javascript 中使用 我添加了两个键 例如 APP ENV local APP KEY APP DEBUG true APP
  • 重复 iPhone 中滚动期间 tableview 单元格的问题

    有 5 个单元格 每个单元格有一个动态标签 单元格的高度是使用 heightForRowAtIndexPath 方法根据标签内容定义的 现在 显示 3 个单元格 当我滚动下一个单元格时 将调用一次 cellForRowAtIndexPath
  • 64 位 JVM 的最大可能堆大小是多少?

    理论上可以设置的最大堆值 Xmx在32位系统中当然是2 32字节 但通常 参见 了解最大 JVM 堆大小 32 位与 64 位 一个人不能使用全部4GB 对于64位机器上运行在64位操作系统中的64位JVM来说 除了理论限制之外还有什么限制
  • 何时复制 C# 值/对象以及何时复制其引用?

    在复制我想要引用的对象或引用我想要复制的对象的地方 我不断遇到相同的问题 当我使用 运算符时会发生这种情况 例如 如果我将对象发送到另一种形式 即 SomeForm myForm new SomeForm SomeObject myObje
  • 如何验证域凭据?

    我想针对域控制器验证一组凭据 例如 Username STACKOVERFLOW joel Password splotchy 方法 1 通过模拟查询 Active Directory 很多人建议在 Active Directory 中查询
  • 如何使用 wget 模块从 URL 列表下载 PDF?

    我有一个 Python 脚本 它可以从website与 Selenium 并将它们存储在列表中 现在 我想用以下命令下载它们wget module 这是代码的相关部分 其中脚本完成了从网站获取的部分 URL new links for li