2015-01-03 14 views
7

Ho 100 pagine sul mio sito, ma voglio scaricare solo una parte di una pagina invece di tutto il contenuto della pagina.Come posso scaricare solo una parte di una pagina?

Desidero scaricare una sola casella di ogni pagina, la dimensione del file è 10 KB. Per questo utilizzo WebClient e htmlagilitypack.

WebClient Client = new WebClient(); 
var result = Encoding.GetEncoding("UTF-8").GetString(Client.DownloadData(URL)); 

enter image description here

+1

upvoted questo perché è una domanda decente. – cybermonkey

+0

@cybermonkey grazie mille –

+0

@cybermonkey grazie per aggiungere l'immagine. –

risposta

7

Purtroppo, questo non è possibile, perché HTTP non è progettato per fornire una parte specifica di una pagina web. Supporta range requests, ma per quello dovresti sapere dove esattamente (in termini di byte) si trova il contenuto desiderato.

Puoi

  • scaricare l'intera pagina e poi
  • usare un HTML parsing libreria per estrarre la parte che vi serve.
+0

Potrebbe essere utile sottolineare che ciò potrebbe essere fatto tramite le richieste GET di PHP; invia una richiesta aggiunta all'URL e visualizza solo il contenuto che desidera. – cybermonkey

0

Non è possibile ottenere questo.

L'unica soluzione sta modificando la struttura del sito Web. se hai il controllo del server -

Cambia l'architettura del tuo sito web, rendendo i dati nella casella accessibili tramite una chiamata ajax. Ora è possibile ottenere i dati tramite WebClient. Se tali dati sono già serviti tramite una chiamata API, è possibile indirizzare il proprio WebClient a quell'URI.

Ecco un esempio di voi strutturare sito web basato su Ajax - AJAX with jQuery and ASP.NET

+0

Potrebbe essere utile sottolineare che ciò potrebbe essere fatto tramite le richieste GET di PHP; invia una richiesta aggiunta all'URL e visualizza solo il contenuto che desidera. – cybermonkey

+0

Suppongo che l'OP stia utilizzando Microsoft TechStack. Quindi ho basato il mio esempio su di esso. – rahulroy9202

Problemi correlati