V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xueyoucai
V2EX  ›  Python

大佬!我又来了! 怎样获取到网页中的 pdf 文件

  •  1
     
  •   xueyoucai · 2020-06-05 15:11:53 +08:00 · 4058 次点击
    这是一个创建于 1413 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://bulletin.cebpubservice.com/biddingBulletin/2020-06-05/3034096.html

    上述网站中的 pdf 文件,我可以获取到一个 swf 文件,这个文件只能用 360 浏览器打开。

    有没有办法批量获取到 pdf 文件

    感谢各位大佬!!

    25 条回复    2020-06-05 17:51:02 +08:00
    Jerry1112
        1
    Jerry1112  
       2020-06-05 15:16:47 +08:00
    爬虫爬它
    xueyoucai
        2
    xueyoucai  
    OP
       2020-06-05 15:21:59 +08:00
    @Jerry1112 我知道 问题是怎么获取这个 pdf 文件
    kop1989
        3
    kop1989  
       2020-06-05 15:24:51 +08:00
    这个获取不了吧。相当于是一个 flash 做的 pdf 查看器。swf 是编译过的状态。
    kop1989
        4
    kop1989  
       2020-06-05 15:25:38 +08:00
    除非你把这个 swf 反编译。拿到它里面对应的 pdf 地址,然后结合 html 里传入的参数,来推定你需要的 pdf 的网址。
    yinzhili
        5
    yinzhili  
       2020-06-05 15:27:13 +08:00
    这个页面不是 pdf,是 pdf 转换成了 flash
    also24
        7
    also24  
       2020-06-05 15:33:59 +08:00
    https://www.neowin.net/forum/topic/1226007-ways-to-download-pdf-from-flexpaper/

    https://www.jianshu.com/p/1bcbfb9f144f


    翻看了几个关于 flexpaper 的内容,基本都是通过 “打印 SWF 到虚拟打印机” 实现的。
    different
        8
    different  
       2020-06-05 15:36:25 +08:00
    点击打印,输出到 Microsoft Print to PDF 不就行了嘛?
    different
        9
    different  
       2020-06-05 15:37:05 +08:00
    不好意思,没留意到“批量”
    sleepm
        10
    sleepm  
       2020-06-05 15:38:30 +08:00
    左上角打印,另存为 pdf
    左上角菜单(打印 单页 第二页 缩略图 适合宽度...)
    眼看着是扫描的,保存出来也是,所以文字是选择不了的
    xueyoucai
        11
    xueyoucai  
    OP
       2020-06-05 15:41:38 +08:00
    @sleepm 批量获取
    xueyoucai
        12
    xueyoucai  
    OP
       2020-06-05 15:42:13 +08:00
    @yinzhili 对 我在想怎么获取 pdf 文件 活着说识别这个 swf 文件
    nuistzhou
        13
    nuistzhou  
       2020-06-05 15:45:42 +08:00 via iPhone
    Selenium 模拟然后批量虚拟打印?(我瞎说的)
    xueyoucai
        14
    xueyoucai  
    OP
       2020-06-05 15:47:20 +08:00
    @nuistzhou 在 HMTL 中这个 pdf 展示 是一个<object> selenuim 无法获取到元素
    Jirajine
        15
    Jirajine  
       2020-06-05 15:47:37 +08:00 via Android
    抓包看一下,能找到文件请求的话可以通过 mitm 配合脚步截获,要是加密了的话就没办法了,你得找个会逆 flash 的人。
    sleepm
        16
    sleepm  
       2020-06-05 15:47:48 +08:00
    批量的话按键精灵 。。。
    xueyoucai
        17
    xueyoucai  
    OP
       2020-06-05 15:49:43 +08:00
    @Jirajine 咦 对哦 抓包 我还没试
    xueyoucai
        18
    xueyoucai  
    OP
       2020-06-05 15:50:17 +08:00
    @sleepm 。。。。
    yinzhili
        19
    yinzhili  
       2020-06-05 15:52:40 +08:00
    @xueyoucai 我们以前做过一个在线教育的网站,就是用 swftools 把 PDF 文件转换成 swf 在网页上展示,原始 PDF 文件不会放到公网的。
    CageZhong
        20
    CageZhong  
       2020-06-05 16:44:59 +08:00
    之前做过一个工具,也是爬虫爬取所有的 swf 文件回来,然后转换 pdf,合并 pdf
    sleepm
        22
    sleepm  
       2020-06-05 17:21:40 +08:00
    扫码有惊喜,关注后有手机查看的页面,里面有链接
    muyi
        23
    muyi  
       2020-06-05 17:28:19 +08:00
    使用 swftools 中的 swfrender 将 swf 转成 png,再用 imagemagick 将所有 png 合成 pdf,这两步都能用命令行完成,写个软件可以做到批量化
    frankyxu
        24
    frankyxu  
       2020-06-05 17:44:16 +08:00
    ffdec 将 swf 转成 image,命令如下
    java -jar ffdec.jar -cli -export image images C:\Users\EDZ\Downloads\bf8792877a7d48bcb48564fce83f99fa.swf
    然后自己写个函数将 image 转成 pdf
    Arrowing
        25
    Arrowing  
       2020-06-05 17:51:02 +08:00
    swf to pdf,我试了可行。
    先安装 pdf 24,他会安装一个虚拟打印机。
    然后在浏览器上点击打印,选择这个虚拟打印机,选择之后,又个选项是保存 PDF 选项。
    成功!
    现在就是怎么把这些操作自动化,就可以完成你的任务了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2723 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:21 · PVG 08:21 · LAX 17:21 · JFK 20:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.