【问题标题】:curl seems not working for "dynamic blogspot models"curl 似乎不适用于“动态 blogspot 模型”
【发布时间】:2014-12-06 09:10:41
【问题描述】:

cURL:我正在尝试获取/保存一些“动态模型的 blogspot”的 html 页面,例如:

http://jackturf.blogspot.fr/

我在dos命令行上的简单试用:

"D:\EXE_UTIL\CURL\curl.exe"  -o "d:\temp.html" "http://jackturf.blogspot.fr/"

Received=21597 bytes  

但是 google chrome CTRL-S 保存到 HTML COMPLETE PAGE = 160 kb!

我使用 curl 很多年了,即使使用 cookie 也总是可以,但现在使用这个“google 动态模型”我不知道如何获得完整的 html 页面大小?

我的 cURL 版本:(我也尝试过其他几个以前的版本...)

curl 7.39.0 (i386-pc-win32) libcurl/7.39.0 OpenSSL/1.0.0o zlib/1.2.8 libidn/1.18 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS IDN Largefile SSPI SPNEGO NTLM SSL libz 

有人有解决 dos 命令行工作的方法吗?

【问题讨论】:

    标签: php curl


    【解决方案1】:

    一个简单的流量分析表明,一个 json 提要可用于解析。试试这个:

    "D:\EXE_UTIL\CURL\curl.exe" -o "d:\temp.json" "http://jackturf.blogspot.fr/feeds/posts/default?alt=json&orderby=published"
    

    【讨论】:

    • 编辑:将 \temp.html 更改为 \temp.json
    • 是的,谢谢,它有效。文件大约大 10 倍......但我想我可以管理这个解决方案。除非其他人有其他解决方案需要审核...
    • 分析流量了解api结构。例如,这个 url 会产生一个 4,6 MB 的文件:jackturf.blogspot.fr/feeds/posts/…
    • 我明白了……我学会了……tks。另外,是否有一种 json 方式来向网站询问按时间顺序排列的方式?像 .../feeds/posts/default?alt=json&orderby=published& ... 2014_12_01_archive 仅获取当前月份,然后根据需要获取上个月等等...-谢谢-
    • @steve 如果 api 是为支持这种类型的请求而编写的,那么是的。您需要联系 Blogger 或进行更多网络流量分析。 Chrome 的“开发者工具”之类的工具非常方便。如果有帮助,请采纳答案。
    【解决方案2】:

    大小的差异是由于curl 没有执行页面内的 JavaScript,而您的浏览器在使用 CTRL-S 保存之前执行了 JavaScript(并因此更改了 HTML)。

    要获得相同的结果,您必须在保存页面之前执行页面内的 JavaScript。 This is not possible with curl,因此您可能想研究其他替代方案。

    【讨论】:

    • 谢谢。其他选择......是的,如果有人有简单的想法?如果可能在命令行上......否则如果不是......
    猜你喜欢
    • 2018-11-27
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2023-04-06
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多