λ‘λ΄(robot) λλ μ€νμ΄λ(Spider)λΌκ³ λΆλ¦
κ²μ μμ§μμ λ리 μ°λ κΈ°μ λ‘, μΉμ μλ‘ μ¬λΌμ€κ±°λ κ°±μ λ 컨ν
μΈ λ₯΄ μ°Ύμλ΄λ κ²μ΄ μ£Όλ λͺ©μ
-> λͺκ°μ Web Page μμ μμν΄μ κ·Έ λ§ν¬λ₯Ό λ°λΌ λκ°λ©° μλ‘μ΄ μ½ν
μΈ λ₯Ό μμ§νλ€...
1. κ²μ μμ§ μΈλ±μ±(Search Engine Indexing)
ν¬λ‘€λ¬κ° μ μΌ λ³΄νΈμ μΌλ‘ μ¬μ©λλ κ³³
μΉ νμ΄μ§λ₯Ό λͺ¨μ κ²μ μμ§μ μν λ‘컬 μΈλ±μ€(local index)λ₯Ό λ§λ¬
ex) Googlebot - ꡬκΈ(Google) κ²μ μμ§μ΄ μ¬μ©νλ μΉ ν¬λ‘€λ¬
2. μΉ μμΉ΄μ΄λΉ(Web Archiving)
λμ€μ μ¬μ©ν λͺ©μ μΌλ‘ μ₯기보κ΄μ μν΄ μΉμμ μ 보λ₯Ό λͺ¨μΌλ μ μ°¨λ₯Ό λ§ν¨
ex) λ―Έκ΅ κ΅ν λμκ΄(US Library of Congress), EU μΉ μμΉ΄μ΄λΈ ...
3. μΉ λ§μ΄λ(Web Mining)
ex) μ λͺ κΈμ΅ κΈ°μ λ±μμ ν¬λ‘€λ¬λ₯Ό μ¬μ©ν΄μ μ£Όμ£Ό μ΄ν μλ£λ μ°μ°¨ λ³΄κ³ μ(annual report)λ₯Ό λ€μ΄λ°μ κΈ°μ μ ν΅μ¬ μ¬μ λ°©ν₯μ μμλ΄κΈ°λ νλ¨λ€
4. μΉ λͺ¨λν°λ§(Web Monitoring)
μΈν°λ·μμ μ μκΆμ΄λ μνκΆμ΄ μΉ¨ν΄λλ μ¬λ‘λ λͺ¨λν°λ§μ΄ κ°λ₯νλ€.
ex) λμ§λ§ν¬(Degimarc)μ¬λ μΉ ν¬λ‘€λ¬λ₯Ό μ¬μ©νμ¬ ν΄μ ν μ μλ¬Όμ μ°Ύμλ΄μ λ³΄κ³ νλ€κ³ ν¨..
κ·Όλ° ν¬λ‘€λ¬λ μκ°λ³΄λ€ λ¨μνκ² λμνλ κ² μλλΌμ.. μ΄λμ λ μμ€μ κ·λͺ¨λ₯Ό κ°λ μΉ ν¬λ‘€λ¬λ₯Ό μ€κ³νλ 건 μ¬μ΄ μμ μ΄ μλλΌκ³ νλ€.
μμ URL μ§ν©
μΉ ν¬λ‘€λ¬κ° ν¬λ‘€λ§μ μμνλ μΆλ°μ
μΌλ°μ μΌλ‘λ μ 체 URL 곡κ°μ μμ λΆλΆμ§ν©μΌλ‘ λλλ μ λ΅μ μ¬μ©ν¨
λ―Έμμ§ URL μ μ₯μ
νλ ν¬λ‘€λ¬μ ν¬λ‘€λ§ μν
= (1) λ€μ΄λ‘λν URL (2) λ€μ΄λ‘λλ URL μ λ κ°μ§λ‘ λλ μ κ΄λ¦¬
λ―Έμμ§ URL μ μ₯μ(URL frontier): (2) 'λ€μ΄λ‘λ ν URL' μ μ μ₯νλ μ»΄ν¬λνΈ
FIFO(First-In-First-Out) ν(Queue)λΌκ³ μκ°νλ©΄ λ¨.
HTML λ€μ΄λ‘λ
μΈν°λ·μμ μΉ νμ΄μ§λ₯Ό λ€μ΄λ‘λνλ μ»΄ν¬λνΈ
λλ©μΈ μ΄λ¦ λ³νκΈ°
μΉ νμ΄μ§ λ€μ΄ μ URLμ IP μ£Όμλ‘ λ³ννλ μ μ°¨κ° νμ
μ½ν
μΈ νμ
μΉ νμ΄μ§λ₯Ό λ€μ΄λ‘λ νλ©΄ νμ±(parsing)κ³Ό κ²μ¦(validation) μ μ°¨λ₯Ό κ±°μ³μΌ ν¨.
ν¬λ‘€λ§ μλ² μμ μ½ν
μΈ νμλ₯Ό ꡬννλ©΄ ν¬λ‘€λ§ κ³Όμ μ΄ λλ €μ§κ² λ μ μμΌλ―λ‘, λ
립λ μ»΄ν¬λνΈλ‘..
μ€λ³΅ μ½ν
μΈ μΈκ°?
μΉ νμ΄μ§μ ν΄μ κ°μ λΉκ΅νλ κ²μ΄ μ μΌ ν¨μ¨μ
μ½ν
μΈ μ μ₯μ
HTML λ¬Έμλ₯Ό 보κ΄νλ μμ€ν
μ μ₯μλ₯Ό ꡬννλ λ° μ°μΌ κΈ°μ μ κ³ λ₯Ό λμλ 1) μ μ₯ν λ°μ΄ν°μ μ ν, 2) ν¬κΈ°, 3) μ μ₯μ μ κ·Ό λΉλ, 4) λ°μ΄ν°μ μ ν¨ κΈ°κ° λ±μ μ’
ν©μ μΌλ‘ κ³ λ €ν΄μΌ ν¨.
URL μΆμΆκΈ°
HTML νμ΄μ§λ₯Ό νμ±νμ¬ λ§ν¬λ€μ 골λΌλ΄λ μν
URL νν°
1) νΉμ ν μ½ν
μΈ νμ
μ΄λ 2) νμΌ νμ₯μλ₯Ό κ°λ URL, 3) μ μ μ μ€λ₯κ° λ°μνλ URL, 4) μ κ·Ό μ μΈ λͺ©λ‘(deny list)μ ν¬ν¨λ URL λ±μ ν¬λ‘€λ§ λμμμ μ μΈνλ μν
μ΄λ―Έ λ°©λ¬Έν URL
ν΄λΉ μλ£ κ΅¬μ‘°λ‘ λΈλ£Έ νν° λ ν΄μ ν
μ΄λΈμ΄ λ리 μ¬μ©λ¨
URL μ μ₯μ
μ΄λ―Έ λ°©λ¬Έν URLμ 보κ΄νλ μ μ₯μ
μΉ ν¬λ‘€λ¬μ κ²½μ° λ³΄ν΅ λλΉ μ°μ νμλ²(BFS:breath-first search)λ₯Ό μ¬μ©
= FIFO(first in first out) νλ₯Ό μ¬μ©νλ μκ³ λ¦¬μ¦
= ν μͺ½μΌλ‘λ νμν URLμ μ§μ΄λ£κ³ , λ€λ₯Έ νμͺ½μΌλ‘λ κΊΌλ΄κΈ°λ§ νλ€.
[ λ¬Έμ μ ]
1. ν νμ΄μ§μμ λμ€λ λ§ν¬μ μλΉμλ κ°μ μλ²λ‘ λλμκ°.
2. νμ€μ BFS μκ³ λ¦¬μ¦μ URL κ°μ μ°μ μμλ₯Ό λμ§ μλλ€.
-> λͺ¨λ μΉ νμ΄μ§κ° κ°μ μμ€μ νμ§, κ°μ μμ€μ μ€μμ±μ κ°μ§λ μλλ€..
-> νμ΄μ§ μμ, μ¬μ©μ νΈλν½μ μ, μ
λ°μ΄νΈ λΉλ λ± μ¬λ¬ κ°μ§ μ²λμ λΉμΆμ΄ μ²λ¦¬ μ°μ μμλ₯Ό ꡬλ³νλκ² μ ν©.
1. μμ
λμΌ μΉ μ¬μ΄νΈμ λν΄μλ ν λ²μ ν νμ΄μ§λ§ μμ²νλ€.
-> μ΄κ²μ λ§μ‘± μν€λ €λ©΄, μΉμ¬μ΄νΈμ νΈμ€νΈλͺ (hostname)κ³Ό λ€μ΄λ‘λλ₯Ό μννλ μμ μ€λ λ(worker thread) μ¬μ΄μ κ΄κ³λ₯Ό μ μ§νλ©΄ λλ€.
2. μ°μ μμ
3. μ μ λ
μ΄ μμ μ μ΅μ ν νκΈ° μν μ λ΅
1. μΉ νμ΄μ§μ λ³κ²½ μ΄λ ₯(update history) νμ©
2. μ°μ μμλ₯Ό νμ©νμ¬, μ€μν νμ΄μ§λ μ’ λ μμ£Ό μ¬μμ§
4. λ―Έμμ§ URL μ μ₯μλ₯Ό μν μ§μμ± μ μ₯μ₯μΉ
1. Robot.txt
μ΄ νμΌμλ ν¬λ‘€λ¬κ° μμ§ν΄λ λλ νμ΄μ§ λͺ©λ‘μ΄ λ€μ΄μμ
2. μ±λ₯ μ΅μ ν
HTML λ€μ΄λ‘λμ μ¬μ©ν μ μλ μ±λ₯ μ΅μ ν κΈ°λ²λ€
λΆμ° ν¬λ‘€λ§
λλ©μΈ μ΄λ¦ λ³ν μΊμ
λλ©μΈ μ΄λ¦ λ³νκΈ°(DNS Resolver)λ ν¬λ‘€λ¬ μ±λ₯μ λ³λͺ© μ€ νλμ΄λ°, μ΄λ DNS μμ²μ 보λ΄κ³ κ²°κ³Όλ₯Ό λ°λ μμ
μ λκΈ°μ νΉμ± λλ¬Έ
-> DNS μ‘°ν κ²°κ³Όλ‘ μ»μ΄μ§ λλ©μΈ μ΄λ¦κ³Ό IP μ£Όμ μ¬μ΄μ κ΄κ³λ₯Ό μΊμμ 보κ΄ν΄ λκ³ ν¬λ‘ μ‘(cron job) λ±μ λλ € μ£ΌκΈ°μ μΌλ‘ κ°±μ νλλ‘ ν΄ λμΌλ©΄ μ±λ₯ λμΌ μ μμ
μ§μμ±
짧μ νμμμ
3. μμ μ±
4. νμ₯μ±
PNG λ€μ΄λ‘λμ μΉλͺ¨λν°(μΉμ λͺ¨λν°λ§νμ¬ μ μκΆμ΄λ μνκΆμ΄ μΉ¨ν΄λλ μΌμ λ§λ λͺ¨λ)
5. λ¬Έμ μλ μ½ν μΈ κ°μ§ λ° ννΌ
μ€λ³΅ 컨ν
μΈ
μΉ μ½ν
μΈ μ μ½ 30% κ°λμ μ€λ³΅
ν΄μλ 체ν¬μ¬(check-sum)μ μ¬μ©νλ©΄ μ€λ³΅ μ½ν
μΈ λ₯Ό λ³΄λ€ μ½κ² νμ§ κ°λ₯
κ±°λ―Έ λ«(Spider Map)
ν¬λ‘€λ¬λ₯Ό 무ν 루νμ λΉ νΈλ¦¬λλ‘ μ€κ³ν μΉ νμ΄μ§
λ«μ μλμΌλ‘ νΌν΄κ°λ μκ³ λ¦¬μ¦μ λ§λ€κΈ°λ λ§€μ° μ΄λ €μ
= μ¬λμ΄ μμμ
μΌλ‘ λ«μ νμΈνκ³ μ°ΎμλΈ νμ λ«μ΄ μλ μ¬μ΄νΈλ₯Ό ν¬λ‘€λ¬ νμ λμμμ μ μΈνκ±°λ URL νν° λͺ©λ‘μ κ±Έμ΄λλ κ²
λ°μ΄ν° λ Έμ΄μ¦
1. μλ² μΈ‘ λ λλ§(server-side rendering)
λ§μ μΉ μ¬μ΄νΈκ° μλ°μ€ν¬λ¦½νΈ(Java Script), AJAX λ±μ κΈ°μ μ μ¬μ©ν΄μ λ§ν¬λ₯Ό μ¦μμμ λ§λ€μ΄ λ΄λλ°, μΉ νμ΄μ§λ₯Ό κ·Έλ₯ μλ κ·Έλλ‘ λ€μ΄ λ°μμ νμ±ν΄λ³΄λ©΄ λμ μΌλ‘ μμ±λλ λ§ν¬λ λ°κ²¬ν μκ° μκ² λλ€.
-> λμ λ λλ§(dynamic rendering) μΌλ‘ ν΄κ²° κ°λ₯
2. μμΉ μλ νμ΄μ§ νν°λ§
3. λ°μ΄ν°λ² μ΄μ€ λ€μ€ν λ° μ€λ©
4. μνμ κ·λͺ¨ νμ₯μ±(horizontal scalability)
μνμ κ·λͺ¨ νμ₯μ±μ λ¬μ±νλ λ°μ κ°μ₯ μ€μν κ²μ μλ²κ° μνμ 보λ₯Ό μ μ§νμ§ μλλ‘ νλ κ², μ¦ λ¬΄μν(stateless) μλ²λ‘ λ§λλ κ²μ΄λ€.
5. κ°μ©μ±, μΌκ΄μ±, μμ μ±
6. λ°μ΄ν° λΆμ μ루μ (analytics)