2011-10-05 80 views
0

我正在开发一个Web数据挖掘项目,通过爬取服务器页面直接从HTML中提取信息。我的努力只集中在一个具有java web服务器的特定网站上,并安装了caucho树脂。如何获取Web服务器中的servlet参数列表?

参数由值对传递的url,像www.xxxxxx.com/jm/search?act=see&id=909&...我已经尝试解码的许多参数,但是,当然,结果很慢正在添加。

我的问题是......你的Java大师知道如何让这种服务器的所有有效参数?有可能的?

我没有访问服务器,我不知道一无所知的Caucho树脂,我编码的工具用Java做的工作。

回答

1

除非您与之通信的服务器发布了完整的API,否则可以有任意数量的参数。考虑这一点 - 一个Web表单不可以上传所有参数的服务器响应,像内部使用参数等

由于参数处理实现从“公共”眼距,在服务器端,它是不透明到外面的世界。

如果您指的是的参数,答案基本相同。例如,亚马逊有多少有效的产品SKU?

(另请注意,这可能是最好称之为“请求参数”,如servlets也“初始化参数”,这是一个完全不同的问题:)

+0

我说的是参数不是值。通过查看“隐藏”标签的HTML源代码,我确实找到了许多这样的标签,但这些标签并不是唯一标签,因为我可以通过反复试验找到更多。 – ruhalde

+0

您需要遍历整个字符集,多个长度,并确定它们中是否有任何影响实际返回的内容。但是,根本无法获得完整的列表。 –

1

无论参数是否有效是不是哪个由Web服务器定义。它由自定义servlet代码本身定义。它反过来通常在功能需求和/或技术规范文档中定义,并且可能也在定制的servlet的生成的javadoc中定义。

最好的办法是联系网站的所有者/维护者获取此信息。如果你不能或不可以,那么你可能正在做一些违反网站政策的事情。您至少可以在提交给此servlet的任何公共HTML表单的输入元素中找到所有有效参数名称


更新:根据您的评论:

我说的参数不值。通过查看“隐藏”标签的HTML源代码,我确实找到了许多这样的标签,但这些标签并不是唯一标签,因为我可以通过反复试验找到更多。

只需使用FirebugFiddler来跟踪一个真正的网页浏览器发出的HTTP请求。你会得到一个所有的参数,这些参数都是用一个名为=值对的漂亮表格发送的。不需要试用'错误。

相关问题