是否有JavaScript语句可以从网页中检索内容/文本?通过javascript获取网页文本
2
A
回答
1
这是一种奇怪的事情。你是指<p>
和<span>
之类的标签或<title>
之类的标签?你确定你需要在JS中做这个,如果你正在刮一整页?听起来像一个XSS攻击:P
副手,我不知道任何内置的,将做到这一点,但你总是可以写一个函数来访问DOM与document.getElementsByTagName
和刮这样的文字。
3
您可以使用Range
s/TextRange
s。这具有仅获得页面上的可见文本的优点(例如,与非IE浏览器中的元素的textContent
属性不同,其也将得到<script>
的内容以及可能的其他元素)。以下内容适用于所有主流浏览器,尽管我无法保证不同浏览器之间换行符的一致性。
UPDATE 2012年11月
我不认为这是一个好主意,这些天。虽然Selection
现在被指定,its toString()
method is not,并在一段时间(包括当微软正在实施它的IE 9),它被指定为像textContent
行为。对于这种特殊的方式,浏览器的一致性得到了更糟而不是更好,因为2009年
function getBodyText(win) {
var doc = win.document, body = doc.body, selection, range, bodyText;
if (body.createTextRange) {
return body.createTextRange().text;
} else if (win.getSelection) {
selection = win.getSelection();
range = doc.createRange();
range.selectNodeContents(body);
selection.addRange(range);
bodyText = selection.toString();
selection.removeAllRanges();
return bodyText;
}
}
alert(getBodyText(window));
0
如果你只是想在页面的HTML内容您目前使用的:
var html = document.getElementsByTagName('html')[0].innerHTML;
如果你想另一个页面的HTML谷歌“阿贾克斯”
1
如果你想刮的页面来自同一个域,它是相当直接的。您只需使用AJAx将该页面作为文本获取,然后从那里找到您想要的内容。这里有一个例子:
<script>
function ajax(url, callbackFunction) {
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
request.onreadystatechange = function() {
var done = 4, ok = 200;
if (request.readyState == done && request.status == ok) {
if (request.responseText) {
callbackFunction(request.responseText);
}
}
};
request.send();
}
var buttonClicked = function() {
ajax('/~jedi/index.html', getComplete);
}
var getComplete = function (text) {
alert(text);
}
</script>
<button onclick="buttonClicked()">Debug</button>
如果页面来自不同的领域,你的运气了。你需要在服务器上这样做。您可以使用IFrame从不同的域加载页面上的数据(您可以通过编程方式创建一个不可见的IFrame),但由于安全策略,浏览器不允许您读取该数据。
相关问题
- 1. 通过Javascript获取网页内容通过Javascript
- 2. 通过java获取网页
- 3. Javascript从外部网页获取文本
- 4. 通过https获取网页通过https
- 5. 获取网页并使用javascript读取它通过使用javascript
- 6. 如何通过IIS模块获取网页的响应文本?
- 7. 从网页获取文本
- 8. 从网页获取文本
- 9. 通过jQuery获取网页高度
- 10. 通过URI从网页获取图像
- 11. 如何通过javascript获取客户端网页cookie信息
- 12. 如何通过javascript或jquery从网页获取所有Html?
- 13. 在window.open后通过JavaScript获取上一页网址
- 14. 使用JavaScript从网页获取全文
- 15. 通过javascript获取primefaces版本
- 16. 通过IP地址获取本地主机网页
- 17. 如何通过lua脚本获取网页源代码(html)
- 18. 通过网页浏览器获取外部模板脚本
- 19. 通过网页浏览器从javascript中读取文件
- 20. 如何通过Javascript或Jquery将本地文件读入网页?
- 21. 在html文档中通过xpath和javascript获取TAG文本
- 22. 通过网络获取文件权限
- 23. 使用HtmlAgilityPack从网页获取文本
- 24. Python:从网页获取乘文本值
- 25. Scrapy从网页获取文本
- 26. 使用HTTPClient获取网页的文本
- 27. 获取网页上的文本框
- 28. 在msgbox中获取网页文本
- 29. XPATH - 如何从网页获取文本?
- 30. 通过@Anywhere JavaScript API获取推文
可能的重复:http://stackoverflow.com/questions/822452/strip-html-from-text-javascript – 2013-05-10 19:31:10