[removed] How to retrieve text from a webpage

2019-07-23 04:51发布

问题:

I want to retrieve the text within a webpage as a string. Is this possible? I am new to Javascript.

For example:

var url = "http://en.wikipedia.org/wiki/Programming";
var result = url.getText();  <---- stores text as a string
document.write(result);

How do I write the getText method? Ether the entire HTML source code (which I can use to get the text) or just the text. I would like to do this from within a web browser.

I tried this and I am able to get an index number:

var url = "http://www.youtube.com/results?search_query=cat&page=2";
var result;
function go(){
    result = url.search(/cat/i);
    document.write(result);
}

This gives me an index of 44. That means that reading a page is possible. Can I do the opposite and enter the index to retrieve the text?

回答1:

Ajax won't support cross domain. You need server side language.



回答2:

You would be better off using a more powerful server-side language to do that, not JavaScript. Python or PHP would be decent choices.



回答3:

If the Ajax/Cross-Domain situation is not an issue for you, you can extract the text of a web page with

var el = document.body; // or some other element reference
var text = el.innerText || el.textContent;

If you need to read text from pages in the same domain as your application, you can use Ajax directly.

If you need to read text from pages outside of your domain, you'll have to jump through a few extra hoops like setting up a proxy server or dealing with CORS - http://en.wikipedia.org/wiki/Cross-origin_resource_sharing