我们正在创建一个脚本。
基本上用户进入表单域:3358928 OnSubmit ajax,访问下面的页面,将用户输入的数字字符串附加到网址。
在该网址上,是名字和姓氏。 我们如何刮取名字和姓氏,并将其回复给我们的表格。
基本上问题来自于抓取页面。
任何帮助表示感谢。
答案 0 :(得分:1)
首先,您的Web服务器必须设置为代理所有客户端的请求。否则,第三方服务器would have to send an Access-Control-Allow-Origin header和访问者的浏览器必须支持跨域XMLHttpRequest。 (Flash / Silverlight同样需要一个crossdomain.xml文件。)
这正是http://ajax-cross-domain.com/的工作方式。 (特定的代理脚本恰好是JavaScript编码第三方服务器的响应。)
我注意到特定页面包含一个XHTML doctype,它似乎表明你可以使用 native XMLHttpRequest或jQuery(而不是AJAX Cross Domain)的responseXML
属性来浏览器的XML解析器的优势。不幸的是,这只是另一个输出无效XML的网站 - 它没有正确地将&符号编码为&
。
因此,您很可能会使用正则表达式not ideal。最有可能的是,最简单的方法是查找td
元素的文本(依赖于完全相同的标记未嵌套的事实):
// Creating the regexp object
var regex = /<td class="BodyFont">(.*?)<\/td>/g;
// Execute this line of code as many times as needed.
contentsOfNextTd = regex.exec(textOfThePage)[1];
丑陋,考虑到只要我们使用有效的XML就会更简单。如果您有选项,我建议您在自己的服务器上抓取页面并返回格式良好的JSON或XML响应 - 无论如何您需要服务器端代理,它将使客户端代码更简单。