YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Italian subtitles

← 02-01 Introdzione alla Lezione 2 - CS101

Presentazione di quanto si andrà ad apprendere: procedure e strutture di controllo

Get Embed Code
9 Languages

Showing Revision 1 created 12/01/2012 by roberto.pauletto.

  1. Bentornati per la seconda lezione
  2. Spero che abbiate preso confidenza con le cose che avete imparato nella prima lezione
  3. Continueremo a costruire su di esse in questa lezione, così come per il resto di questo corso
  4. Il nostro scopo principale per questa lezione è di fare sì che il web crawler, invece che trovare semplicemente un link nella pagina
  5. trovi tutti i link presenti in una pagina
  6. in modo che possIamo seguire questi link e collezionare sempre più pagine sul web
  7. Per fare questo abbiamo bisogno di due grossi concetti di informatica
  8. Il primo sono le procedure. Le procedure sono un modo di impacchettare il codice in modo che possa essere riusato più facilmente
  9. Il secondo è il controllo. Ci serve un modo per prendere decisioni, ed eseguire ripetizioni, per trovare tutti quei link in una pagina
  10. Quello che abbiamo visto alla fine della prima lezione era un modo per estrarre il primo URL da una pagina web--
  11. Questo va bene--potremmo trovare il primo obiettivo.
  12. Ms se vogliamo costruire un buon crawler,
  13. non ci dobbiamo prendere cura solo del primo,
  14. dobbiamo occuparci di tutti i link sulla pagina
  15. Dobbiamo estrarre tutti quei link
  16. scoprendo dove puntano tutti questi link
  17. così potremo trovare più pagine da attraversare invece della prima solamente
  18. Quindi, ecco lo scopo per questa classe fino alla costruzione di un web browser
  19. Per fare questo, impareremo due concetti molto importanti in informatica
  20. La prima riguarda le procedure
  21. vale a dire il modo in cui impacchettare il codice in modo che lo si possa usare
  22. in maniera molto più utile rispetto a quanto avremmo potuto fare prima
  23. La seconda riguarda il controllo
  24. Le strutture di controllo ci danno un modo di continuare
  25. a trovare tutti i link in una pagina
  26. Quindi, ripassiamo il codice che avevamo alla fine della prima lezione
  27. Abbiamo risolto il problema di estrarre il primo URL dalla pagina--
  28. assumendo che "page" fosse stata inizializzata con il contenuto di una certa pagina web
  29. Abbiamo inizializzato la variabilie "start_link"
  30. con il risultato della chiamata di "find" su "page"
  31. passandogli l'inizio del tag del link
  32. Poi abbiamo inizializzato la variabile "start_quote"
  33. con il risultato della ricerca. Nella pagina,
  34. la prima virgoletta che segue quel tag di link
  35. Successivamente , abbiamo inizializzato la variabile "end_quote"
  36. con il risultato della chiamata di "find" su "page"
  37. per trovare la prima virgoletta che segue la virgoletta di partenza
  38. e, poi, abbiamo assegnato alla variabile "url"--
  39. estraendo da "page"--
  40. dal carattere dopo "start_quote"
  41. fino al carattere appena prima di "end_quote"
  42. potremmo stampare quell'URL
  43. Questo funzionava per trovare il primo URL sulla pagina.
  44. Se avessimo voluto trovare il secondo
  45. avremmo potuto ripetere tutto.
  46. Potremmo dire, ora vogliamo avanzare
  47. quindi cerchiamo solo sul resto della pagina
  48. Potremmo farlo aggiornando la variabile "page"
  49. assegnandole il risultato del resto della pagina a partire da "end_quote"
  50. e, ricordate, quando c'è uno spazio dopo i due punti
  51. significa che selezioniamo da questa posizione, fino alla fine--
  52. e poi possiamo eseguire le stesse cose
  53. Quindi assegneremo ancora "start_link";...
  54. quindi ancora "start_quote";...
  55. Ora abbiamo del codice che stamperà il primo URL
  56. continuando, aggiornando la variabile "page"--
  57. quindi facendo esattamente la stessa cosa--
  58. stampando il secondo URL
  59. se volessimo stampare i primi tre,
  60. potremmo farlo di nuovo
  61. Quindi ora, abbiamo codice per stampare i primi tre
  62. URL nella pagina
  63. spostiamoci all'inizio- quindi abbiamo--
  64. stampato il primo -- continuiamo --
  65. stampato il secondo --continuiamo--
  66. quindi questo potrebbe andare avanti per sempre
  67. La ragione per la quale abbiamo i computer
  68. è per risparmiare agli umani molto lavoro tedioso
  69. Non vogiamo che gli umani facciano molto lavoro tedioso
  70. di sicuro, stampando questo, ripetutamente
  71. sarebbe veramente tedioso
  72. a non funzionerebbe comunque molto bene.
  73. Abbiamo pagine con centinaia di link,
  74. ma ci sono altre pagine con solo uno o due link
  75. Quindi, non avrebbe senso copiare ciò centinaia di volte
  76. Ci sarà sempre una pagina web che avrà più link
  77. rispetto alle copie che abbiamo di questo
  78. ed per ogni pagina che ha meno copie, incontrremo problemi
  79. visto che non troveremo alcuno di questi link
  80. Quindi, il nostro scopo oggi è risolvere tutti questi problemi.