Non è possibile recuperare alcun markup di URL utilizzando AJAX a causa di CORS (cross-origin resource sharing) e la maggior parte dei siti sul Web non consentirà a nessuno di utilizzare il proprio contenuto. Quello che dovresti fare nel tuo caso è usare un metodo proxy sul tuo server.
Creare un'azione che riceve un URL e recupera il suo markup sul server, quindi utilizzare AJAX per richiedere le pagine HTML utilizzando la nuova azione.
Da lì ci sono due opzioni. O analizzare il codice HTML sul server, estrarre tutti i dati necessari, quindi inviarlo al client O inviare tutto il codice HTML al client. Consiglio vivamente di utilizzare il server per eseguire l'analisi, utilizzerà meno larghezza di banda e il server probabilmente offre prestazioni e velocità migliori di quelle fornite dalla maggior parte dei browser.
Se si è deciso di analizzare il markup sul client, il modo più semplice per farlo sarebbe passare il codice HTML in un elemento root, quindi eseguire query per i dati utilizzando metodi regolari.
cioè
var $root = $('<div>').html(response.html);
console.log($root.find('h1')); // all h1 tags in response's html
Il rovescio della medaglia è che una volta che hai permesso il browser per analizzare il vostro codice verrà caricato automaticamente tutte le risorse che erano presenti, come ad esempio le immagini.
Non utilizzo .Net
quindi non sono in grado di fornirti gli strumenti esatti di cui potresti aver bisogno, ma ti suggerisco di cercare da soli i modi per eseguire queste due attività sul server.
- Leggere un determinato contenuto URL in una stringa.
- Utilizzare un parser DOM specifico, passarlo la stringa HTML e interrogare i dati.
Se possibile, può postare 'url 'di una pagina Web esterna? Grazie – guest271314
Sei interessato a tutti i tag h1 o solo al primo; per quanto riguarda l'immagine, è chiaro? Prime cinque righe di testo ok? – PeterKA