推荐学习书目
› 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 · Jun 5, 2020 · 5624 views
    This topic created in 2349 days ago, the information mentioned may be changed or developed.

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

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

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

    感谢各位大佬!!

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

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


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