【问题标题】:how curl retrieves a url with # and ! symbols in it?curl 如何使用 # 和 ! 检索 url里面的符号?
【发布时间】:2013-07-18 03:49:49
【问题描述】:

我正在考虑使用 curl 从 url(http://bbs.byr.cn/#!board/JobInfo?p=3) 中检索页面,但最终收到了来自 bash 的通知

$ curl bbs.byr.cn/#!article/JobInfo/102321
bash: !article/JobInfo/102321: event not found

这个 url 可以在我的浏览器窗口中访问,我如何编写一个适用于这个 url 的 curl 命令行?

【问题讨论】:

  • # 以外的所有内容都不是发送到服务器的 URL 的一部分...

标签: ajax curl


【解决方案1】:

一般来说,主题标签 (#) 之后的内容不可能仅由客户端的 JavaScript 处理。 Curl 无法执行 JavaScript。您可以将该 URL 放在引号中以获取页面的静态部分,但这显然不是您想要的。

如果您在 Firebug 中观察该页面的流量,您会看到 URL http://bbs.byr.cn/board/JobInfo?p=3 将被下载。您可以下载此文件以获取结果。

【讨论】:

  • 这个很有帮助。有没有可能使用hashtag后面的url部分,在这种情况下,即“!article/JobInfo/102321”,并找到与客户端对应的javascript sn-p如您的回答中所述进行处理,然后使用某种javascript来获取真正想要的页面内容?毕竟,我只是想写一些爬虫程序来跟踪论坛上的信息更新,我需要获取每天新发布的线程,我可以使用上述方法吗?
  • 这取决于该页面的源代码。刚才我正在使用手机,所以我现在无法检查。一般来说,我会在 Firebug 中观察 AJAX 请求,您可以看到会发生什么。
  • 我看了看似乎只有http://bbs.byr.cn/board/JobInfo?p=3 似乎被下载了。这应该很容易:-)
猜你喜欢
  • 1970-01-01
  • 2011-01-06
  • 2013-04-07
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 2016-05-10
相关资源
最近更新 更多