0

我正在尝试下载网站的内容。该站点是一个磁电机站点,可以通过选择侧边栏上的属性来过滤结果。请参阅 zannioptical.com 以获得一个很好的例子。

我正在尝试下载网站的内容。因此,如果我们以 zennioptical.com 为例,我需要下载所有矩形眼镜。或所有的塑料等。

那么如何向服务器发送请求以仅显示矩形框等?

非常感谢

4

1 回答 1

1

您的基本答案是您需要使用正确的查询参数执行 HTTP GET 请求。根据您的问题,不完全确定您是如何尝试执行此操作的,因此这里有两个选项。

如果您尝试从 javascript 执行此操作,您可以查看此问题。它有一堆答案,展示了如何使用内置XMLHttpRequest或使用jQuery.

如果您尝试从 java 应用程序下载页面,这实际上根本不涉及 AJAX。您仍然需要执行 GET 请求,但现在您可以查看其他问题以获取一些想法。

无论您使用的是 javascript 还是 java,最困难的部分是找出要查询的正确 URL。如果您尝试抓取其他人的网站,则在过滤结果时必须查看浏览器请求的 URL。查看该信息的最简单方法之一是在 Firefox 中Web Console找到Tools-> Web Developer-> Web Console。你也可以下载像Wireshark这样的东西,它是一个很好的工具,但对于你需要的东西可能有点矫枉过正。

编辑

例如,当我单击 zennioptical 上的“矩形框”选项时,这是在以下位置触发的查询Web Console

[16:34:06.976] GET http://www.zennioptical.com/?prescription_type=single&frm_shape%5B%5D=724&nav_cat_id=2&isAjax=true&makeAjaxSearch=true [HTTP/1.1 200 OK 2328ms]

您必须执行足够数量的操作才能弄清楚如何生成 URL 以获得所需的结果。

免责声明

如果您正在下载其他人的数据,最好先与他们核实。服务器的所有者可能不明白他们可能会考虑窃取他们的数据/工作。然后根据你如何使用你下载的数据,你可能会冒险解决各种道德问题……再说一次,如果你是从自己的网站下载,那就去吧。

于 2012-06-25T20:33:22.483 回答