javascript - 如何在 GET 请求中使用 xpath?

标签 javascript html xpath yql

我正在尝试使用 YQL 获取一些文本,但据我所知,xpath 中的引号把事情弄乱了:

<!DOCTYPE html>
<html>
<body>
<p>le test</p>
<p>
<script src="http://query.yahooapis.com/v1/public/yql?q=select * from html where url='http://www.lethbridgecollege.ca/program/administrative-office-professional' and xpath='//*[@id="node-1075"]/div/div[1]/div/div/p[2]'"></script>
</p>
</body>
</html>

如果将 URL 放在浏览器的地址栏中,则该 URL 可以正常工作,但一旦将其作为脚本 src 放在一些引号 ("") 内,则 xpath='//* [@id="node-1075"]/div/div[1]/div/div/p[2]' 搞砸了。我可以做什么来解决这个问题?

我可以做些什么不同的事情才能使通话正常进行?

最佳答案

您需要对请求的参数进行 URL 编码。当您将 URL 粘贴到地址栏中时,该 URL 会起作用,因为浏览器足够智能,可以对不应出现在 URL 中的字符进行 URL 编码。正确的网址是:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%27http%3A%2F%2Fwww.lethbridgecollege.ca%2Fprogram%2Fadministrative-office-professional%27%20and%20xpath%3D%27%2F%2F*%5B%40id%3D%22node-1075%22%5D%2Fdiv%2Fdiv%5B1%5D%2Fdiv%2Fdiv%2Fp%5B2%5D%27

您可以在此处阅读有关 URL 编码的信息:https://en.wikipedia.org/wiki/Percent-encoding

关于javascript - 如何在 GET 请求中使用 xpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32507232/

相关文章:

javascript - 如何使用数据对象中的键设置 c3.js 图表数据类型?

javascript - 2 个 Html 表单如何共享 1 个隐藏字段?

javascript - jQuery 按钮每 2 秒单击一次

xslt - 使用XPATH和当前属性名称的元素的XSLT值

javascript - Facebook 登录不弹出窗口

javascript - .nextAll 不适用于动态内容

javascript - 找不到带有 document.querySelector 的标签链接

html - 当第一个 `<td>` 的高度大于第二个 `<td>` 时,如何将第二个 `<td>` 中的元素对齐到左上角

xml - 如何确定 XPath 中的嵌套级别?

python - 您如何使用 Selenium 检查属性是否存在并获取其值(如果存在)?