分享利用 IDM 批量爬取网站静态资源!简单操作采集网站PDF 资源。

昨天一个小伙伴让写一个爬虫爬某网站全站 PDF 文档 ,我一听开始 有点头大,全站那数量不得相当惊人了,网站简单看了下,发现这类静态网站好像无须爬虫,借助强大的 IDM 就可以解决问题了。因为 IDM 有一个重要的功能就是站能抓取,和以前早期的一些整站搬运功能类似,以前做网站的人比较懒的时候,就直接 copy 别人整个网站,改改名字就 OK 了。

考虑到老外的网站也就没有这么多版权考虑,目录网址:

https://www.math-salamanders.com/

目的,爬取此网站内所有的 PDF 文件(包括外链中涉及到 PDF 的)

如果要写程序的,你就遍历所有 a 标签再遍历所有页面中的 a 标签,再如此循环,其实自己也不知道要循环多少次,有没有重复的。

IDM 站点抓取

捕获过程如下:

第一步:找到想要捕获图片的网站,将网站地址复制下来。

图 1:IDM 站点抓取功能

第二步:在 IDM 下载器中,点击界面上方的 “站点抓取” 选项。这里要选择整个站点,方便数据完整性,不然有可能文档 不全。

图 2:设置开始页面

图 3:文件保存地址

第三步:将每个文件保存至其分类所对应的目录。这里取消下载 HTML 文件本地浏览

图 4:设置探索过滤器

第四步:过滤整个站点的图片,包括根站点与子链接的所有站点图片,并且忽略弹出的窗口进行搜索。

图 5:设置文件过滤器

第五步:选择过滤的文档类型(.pdf),默认下面的文件过滤器,点击 “前进” 进行下一步。

图 6:站点抓取过程

第六步:等待对站点图片进行检索,检索到的文档会在右边信息框内显示,并且 IDM 会自动对抓取的文件进行统计,实时查看抓取状态以及抓取文件数量。

图 7:下载选中图片并保存到队列中

最后完成的数量高达 4800 多个文档 ,如果你手动下载,估计至少 2 天吧。

站点抓取是 IDM 中非常实用的一项特色功能,能够方便用户各项操作的同时提高用户的工作效率。除此之外,站点抓取功能也可以配合 “计划任务” 来实现定时下载,满足用户的多样化需求。

当然如果你运气足够好的话,某些网站的付费资源也是一并可以爬取的,这种通常情况 下好像出现在小程序中比较多,也许是开发者只考虑到了小程序前端的限制,没有考虑到一旦获取文件路径,那么就有可能出现不设防。

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
IDM是指Internet Download Manager,是一款常用的下载管理软件。在Python中,可以使用os.system()或subprocess模块来调用IDM进行下载。 使用os.system()调用IDM进行下载的示例代码如下: ```python import os def IDMdownload(DownUrl, DownPath, FileName): IDM = r"D:\IDM\Internet Download Manager\IDMan.exe" os.chdir(IDMPath) IDM = "IDMan.exe" command = ' '.join(\[IDM, '/d', DownUrl, '/p', DownPath, '/f', FileName, '/q'\]) print(command) os.system(command) ``` 这段代码中,通过os.system()函数调用IDM进行下载,其中`DownUrl`是下载链接,`DownPath`是下载路径,`FileName`是下载文件的名称。使用`/d`参数指定下载链接,`/p`参数指定下载路径,`/f`参数指定下载文件的名称,`/q`参数表示下载成功后IDM将退出。 另一种调用IDM进行下载的方法是使用subprocess模块,示例代码如下: ```python from subprocess import call IDM = r"D:\IDM\Internet Download Manager\IDMan.exe" DownPath = 'D:/下载/' local_file_name = 'xx' urlList = \['xxx'\] for ul in urlList: call(\[IDM, '/d', ul, '/p', DownPath, '/f', local_file_name, '/n', '/a'\]) call(\[IDM, '/s'\]) ``` 这段代码中,通过subprocess模块的call()函数调用IDM进行下载。循环遍历`urlList`中的下载链接,使用`/d`参数指定下载链接,`/p`参数指定下载路径,`/f`参数指定下载文件的名称,`/n`参数表示当IDM不出问题时启动静默模式,`/a`参数表示添加指定文件到下载队列,但不进行下载。最后使用`/s`参数开始下载队列中的任务。 以上是使用Python调用IDM进行下载的示例代码。希望对你有帮助!\[1\]\[2\] #### 引用[.reference_title] - *1* *2* [Python 调用IDM下载器](https://blog.csdn.net/weixin_44072750/article/details/120707399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [python+IDM实现快速批量化下载 (解决IDM批量化下载文件类型出现Error问题)](https://blog.csdn.net/qq_41985248/article/details/127730107)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西江茶客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值