YouTube

Got a YouTube account?

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

Portuguese, Brazilian subtitles

← 02-01 Introdução à Unidade 2 - CS101

sem descrição.

Get Embed Code
9 Languages

Showing Revision 1 created 12/01/2012 by Edson E. da Silva.

  1. [Dave] Bem-vindo de volta para a Unidade 2!
  2. Espero que todos estejam ficando confiantes nas coisas que aprenderam na Unidade 1.
  3. Nós iremos continuar a construir nelas nesta unidade bem como no resto do curso.
  4. Nosso objetivo principal para essa unidade é fazer um rastreador web, em vez de apenas encontrar um link na página,
  5. para encontrar todos os links em uma página,
  6. assim nós podemos seguir esses links e coletar mais e mais páginas na web.
  7. Para fazer isso nós necessitamos de dois grandes novos conceitos em ciência da computação.
  8. O primeiro é o procedimento (procedure). Procedimento é uma maneira mais fácil de juntar códigos que reutilizaremos.
  9. O segundo é o controle (control). Nós precisamos de uma maneira de habilitar a tomada de decisões, e fazer repetições e encontrar todos os links em uma página.
  10. O que vimos no final da Unidade 1 foi uma maneira de extrair a primeira URL de uma página web --
  11. que é grande -- nós podemos encontrar o primeiro alvo.
  12. Mas se nós queremos construir um bom rastreador,
  13. não só nos preocuparemos com o primeiro,
  14. nos preocupamos com todos os links da página.
  15. Precisamos extrair todos esses links --
  16. descobrir para onde todos os links apontam -
  17. então encontramos muito mais páginas rastreadas que somente o primeiro link.
  18. Então, esse é o objetivo para essa classe tão longe como construir um navegador web.
  19. Para fazer isso, vamos aprender duas enormes idéias na ciência da computação.
  20. O primeiro é sobre procedimentos (procedures),
  21. e o que essa maneira de empacotar código para que possamos usá-lo
  22. de uma forma muito mais útil do que podia antes.
  23. O segundo é sobre controle (control).
  24. Estruturas de controle nos dará um jeito de continuar
  25. a encontrar todos os links em uma página.
  26. Então, vamos lembrar do código que fizemos no final da Unidade 1.
  27. Resolvemos este problema de extrair a primeira URL de uma página ---
  28. assumimos que a página foi inicializada para o conteúdo de alguma página web.
  29. Inicializamos uma variável "start_link"
  30. para o resultado da invocação de "find" na "page",
  31. passado no início da tag link.
  32. Então, inicializamos a variável "start_quote"
  33. para o resultado da procura, na página,
  34. a primeira frase seguindo aquela tag link.
  35. Então, inicializamos a variável "end_quote"
  36. para o resultado da invocação de "find" na "page",
  37. para encontrar a primeira frase seguindo a frase inicial.
  38. E, então, nós sinalizamos para a variável "url" --
  39. extraindo da página --
  40. do caractere após a "start_quote",
  41. para o caractere anterior a "end_quote",
  42. nós podemos imprimir aquela URL
  43. Isto trabalha para encontrar a primeira URL na página.
  44. Se nós queremos encontrar o segundo,
  45. nós podemos fazer isso tudo novamente.
  46. Nós podemos dizer, agora nós queremos avançar
  47. então estamos apenas olhando para o resto da página.
  48. Podemos fazer isso atualizando a variável "page",
  49. atribuindo-lhe o resultado do resto da página, a partir do "end_quote"
  50. e, lembre-se, quando á um espaço em branco após os dois pontos
  51. significa que seleciona a partir dessa posição, até o fim -
  52. e então nós podemos fazer tudo novamente.
  53. Faremos "start_link" novamente; ...
  54. Faremos "start_quote" novamente;...
  55. Agora pegamos o código que está imprimindo a primeira URL ---
  56. permanecemos indo, atualizando a variável "page" ---
  57. e então fazendo exatamente a mesma coisa ---
  58. imprimindo a segunda URL.
  59. Se nós queremos imprimir a terceira,
  60. podemos fazer isso novamente...
  61. Então agora, nós temos código para imprimir as três primeiras
  62. URLs na página ---
  63. vamos percorrer todo o caminho acima - de modo que você tem -
  64. impressão do primeira -- continuando --
  65. imprimindo a segunda -- continuando ---
  66. então isso pode ir pra sempre.
  67. A razão de termos computadores
  68. é salvar humanos de fazer muitos trabalhos tediosos.
  69. Nós não queremos fazer humanos fazer trabalhos tediosos --
  70. certamente, digitando isso, uma e outra vez,
  71. seria muito tedioso,
  72. e não sei realmente se ainda funcionaria muito bem.
  73. Temos páginas com centenas de links,
  74. mas existem outras página com apenas uma ou duas hiperligações
  75. Assim, não faria sentido copiar esse código centenas de vezes.
  76. Sempre vai existir uma página web que tem mais link
  77. dos que as cópias que temos desse código -
  78. e qualquer página que tem menos cópias, vamos ter problemas
  79. porque não estaremos conseguindo encontrar qualquer um desses links.
  80. Então, o nosso objetivo de hoje é resolver todos esses problemas.