๐ค ์ด ๊ธ์ ๋น๊ฐ๋ฐ์๊ฐ ๊ณต๋ถํด๋ ์ข์ ๋ด์ฉ์ด๋ผ ์๊ฐํด์.
๐๐ปโโ๏ธ ์ด ๊ธ์ ์์ค์ด ์๋ ์์ ํ ๊ธ์ ๋๋ค.
โ ๏ธ ์ด ๊ธ์ ์์ง ์์ฑ ์ค์ธ ๊ธ์ด๋ผ ๋ด์ฉ์ด ๋ฐ๋ ์๋ ์์ต๋๋ค.
์น ํฌ๋กค๋ฌ์ ๊ดํ ์๋ฃ๋ฅผ ์ฐพ์ ๋ณด๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ ๊ตฌ๊ธ ๊ฒ์ ๊ฒฐ๊ณผ๋ ์๋ชป๋ ํฌ๋กค๋ฌ ๊ฐ๋ ์ค๋ช ์ ์ ๋ น ๋นํ ์ํ์๋ค. ๊ทธ๋ฐ ๊ธ๋ค์ ๋๋ถ๋ถ ๋น ๋ฅด๊ฒ ํด๋น ์น ํ์ด์ง๋ฅผ ์คํฌ๋ํํด์ ์ํ๋ DOM์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ํฌ๋กค๋ฌ ๋๋ ํฌ๋กค๋ง์ด๋ผ๊ณ ์๊ฐํ๊ณ ์์๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก ํด๋น ๋ธ๋ก๊ทธ ๊ธ์ด ๋งํ๋๋๋ก ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค๋ฉด ์ด์์ ๋ง์ ๋ฌธ์ ์ ์ด ์๊ธด๋ค.
์๋ชป๋ ํฌ๋กค๋ฌ ๊ฐ๋ ๊ธ์ด ํ๋ฅด๋๊ฑธ ๋๊ณ ๋ณด๊ธฐ์ ๋๋ฌด ๋ต๋ตํด์ ๐ ํฌ๋กค๋ฌ ์ข ๊ทธ๋ง ๋ง๋ค์ด๋ผ๋ผ๋ ๊ธ์ ์ผ์๋ค. 'ํฌ๋กค๋ฌ'๋ผ๊ณ ๊ฒ์ํ๋ฉด ์ด ๊ธ์ด ๊ตฌ๊ธ ๊ฒ์ ๊ฒฐ๊ณผ ์ฒซ ํ์ด์ง์ ๋์ ์์ด ๊น์ง ๋๋ ๋๋ ์๋ค. ๋๋ถ๋ถ ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํด 'ํฌ๋กค๋ฌ'๋ฅผ ๊ตฌ๊ธ์ ๊ฒ์ ํ์ ํ ๋ฐ "ํฌ๋กค๋ฌ ์ข ๊ทธ๋ง ๋ง๋ค์ด๋ผ"๋ผ๋ ์ ๋ชฉ์ ๊ธ์ด ๋กํ๋ ์๋จ์ ๋ณด์ด๋ ์ฌ๋๋ค์ด ๋นํฉํ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์๋ชป ์ค๋ช ๋ ํฌ๋กค๋ฌ ๊ด๋ จ ๋ธ๋ก๊ทธ๋ค์ด ๊ฒ์ ๊ฒฐ๊ณผ์์ ๋๋ถ๋ถ ์ฌ๋ผ์ ธ ์กฐ๊ธ์ ๋ฟ๋ฏํ๋ค.
์ด๋ฒ ๊ธ์์๋ ์น ํฌ๋กค๋ฌ๋ ๋ฌด์์ด๊ณ ์น ํฌ๋กค๋ง์ ํ๋ฉด์ ๋ง์ฃผํ๋ ๋ฌธ์ ๋ค์ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง, ์ด ๋ถ์ผ์ ๋ ผ๋ฌธ๋ค๊ณผ ํจ๊ป ์ต๋ํ ๐ ์๋ฐ ๊ฒํง๊ธฐ ์์ผ๋ก ๋๋ฌ๋ณด๋ ค๊ณ ํ๋ค. ์ธํฐ๋ท๋ ์๋ง์ 'ํฌ๋กค๋ง' ๊ด๋ จ ๊ธ์ด ์์ง๋ง ๊ทธ ์ค์ ๊ตฌ์กฐ๋ ๊ฐ๋ ์ ๋ํด์๋ ์์ธํ๊ณ ๋ช ํํ๊ฒ ์ ๋ฆฌ ๋ ํ๊ธ ๋ฌธ์๋ ์์ง ์ฐพ์ ๋ณผ ์ ์์๋ค.
์น ํฌ๋กค๋ฌ๋ ์ธํฐ๋ท ์๋น์ค๋ฅผ ํ๋๋ฐ ์์ด์ ์์ฃผ ์ค์ํ ์ํํธ์จ์ด์ง๋ง ๊ณต๊ฐ๋ ์๋ฃ๊ฐ ๋ง์ง ์์๋ค. IT ๊ธฐ์ ๋ค์ ํต์ฌ ๊ธฐ์ ์ ํด๋นํ๋ ํฌ๋กค๋ฌ๋ ๋ฐ๊นฅ ์ธ์์ ๋ชจ์ต์ ์ ๋๋ฌ๋ด์ง ์์๊ณ ์ด๋ฐ ์ํ๊ฐ 90๋ ๋ ํ๋ฐ๊น์ง ์ง์ ๋์ง๋ง 2000๋ ๋ ์ด๋ฐ์ ์ด๋ฅด๋ฌ์๋ ๐ Mercator: A scalable, extensible Web crawler ์ ๊ฐ์ ๋ ผ๋ฌธ์ด ๋ฐํ๋๋ฉด์ ์กฐ๊ธ์ฉ ์น ํฌ๋กค๋ฌ์ ์ํคํ ์ณ ๊ธฐ๋ฐ์ด ์ ์๋๊ธฐ ์์ํ๋ค.
๐ ์ ๋ ผ๋ฌธ์ด ๋ญ๋ฐ์
Mercator๋ Marc Najork์ด MicroSoft์์ ์ธํด ์์ ๋ง๋ ๋ถ์ฐ ์น ํฌ๋กค๋ฌ๋ค. ํฌ๋กค๋ง ๊ด๋ จ ๊ณต๋ถ๋ฅผ ํ๊ฑฐ๋ ๋ ผ๋ฌธ์ ์ฐพ๋ค๋ณด๋ฉด ๊ตฌ๊ธ ๋ฆฌ์์น ์์์ Marc Najork๋ผ๋ ์ฌ๋์ ์์ฃผ ๋ง๋๊ฒ ๋๋ค. ๋ ํฅํ ๋ฅด ๊ฐ๋ฅด์์ ๋ชฐ๋ฆฌ๋์ ์กฐ์ ํ ๊ต์๋ฅผ ๋ง๋ ์ ์๋๋ฐ ๐จ๐ผโ๐ซ ํฅํ ๋ฅด ๊ฐ๋ฅด์์ ๋ชฐ๋ฆฌ๋ ๊ต์๋ ์ธ๋ฅด๊ฒ์ด ๋ธ๋ฆฐ์ด ๊ตฌ๊ธ์ ์ฐฝ์ ํ ๋น์์ ์ง๋ ๊ต์์๋ค. ์ฆ, ํฌ๋กค๋ฌ ๋ ผ๋ฌธ์ ๋ณด๋ค ๋ณด๋ฉด ์ด๋ค์ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๊ฐ ์ด๋์ ๋ ๋ณด์ธ๋ค. ์ธ๊ธํ ์ธ์ฌ๋ ๋ชจ๋ ๊ฒ์, ํฌ๋กค๋ง๊ณผ ๋งค์ฐ ๋ฐ์ ํ ๊ด๋ จ์ด ์๋ ์ฌ๋๋ค์ด๋ค.
๋ณธ๊ฒฉ์ ์ผ๋ก ๊ธ์ ์ฐ๊ธฐ์ ์์ ์น ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค๋ฉด์ ๊ฐ์ฅ ์๋ฌธ์ด ๋๋๊ฒ๋ค์ ์ ๋ฆฌ ํด๋ณด์๋ฉด ์ด๋ ๋ค.
์๋ง์ ๋ธ๋ก๊ทธ๋ค์ด css selector๋ฅผ ์ฌ์ฉํด์ ์ํ๋ ํ ์คํธ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ฐ๊ณ ์๋ค. css selector๋ก DOM์ ์ง์ ๊ฐ์ ธ์ค๋ฉด ์ ํํ๊ฒ ํ ์คํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ง๋ง ์๋น์ค์ UI๊ฐ ์กฐ๊ธ๋ง ๋ณ๊ฒฝ๋ผ๋ ํฌ๋กค๋ฌ๋ ์๋ฑํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์ฌ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด ํ์ด์ง ๊ตฌ์กฐ๊ฐ ์์ฃผ ๋ฐ๋์ด๋ ๋ณธ๋ฌธ ํ ์คํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น?
ํ์ด์ง๋ ์ ๋ฐ์ดํธ ๋๋ค. ์๋ฅผ๋ค์ด, ์ด๋ค ๋ฒจ๋ก๊ทธ ํฌ์คํธ๋ฅผ ํฌ๋กค๋งํ์ฌ ์์งํ์์ง๋ง ๋์ค์ ๊ทธ ํฌ์คํธ๋ ์์ฑ์๊ฐ ์ญ์ ํ๊ฑฐ๋ ์์ ํ ์๋ ์๋ค. ๋ฐ๋ผ์ ํฌ๋กค๋ฌ๊ฐ ๋ฐฉ๋ฌธ ํ๋ URL์ ์ธ์ ๊ฐ ๋ ๋ฐฉ๋ฌธํด์ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ ํ์๊ฐ ์๋๋ฐ ์ด๋ ๊ฒ ํ์ด์ง์ ์ ์ ๋(freshness)๋ฅผ ์ ์ง ํด ์ฃผ์ด์ผ๋ง ํ ๊ฒ์ด๋ค.
๊ฐ๋จํ๊ฒ ์๊ฐํด์ ํ ์๊ฐ ๋ง๋ค, ๋๋ ๋ฉฐ์น ์ ํ ๋ฒ์ฉ ์ฌ๋ฐฉ๋ฌธ ํ๋๋ก ํ ์ ์๊ฒ ์ง๋ง ์์ฃผ ์ ๋ฐ์ดํธ ๋๋ ํ์ด์ง๊ฐ ์๋๊ฐ ํ๋ฉด ์ค๋ซ๋์ ๊ทธ๋๋ก์ธ ํ์ด์ง๋ ์์๊ฒ์ด๋ค. ์ด๋ป๊ฒ ํ๋ฉด ํจ์จ์ ์ผ๋ก ์์ ์ด ์ด๋ค์ง ํ์ด์ง๋ง ์ฌ๋ฐฉ๋ฌธ ํ ์ ์์๊น?
Scalable์ ๊ฐ๋ฐ์๋คํํ ์ ๋ง ๋ง๋ฒ ๊ฐ์ ๋จ์ด๋ค. ํ์ฌ์์ ๋ฏธํ ํ๋๋ฐ ์์ง๋์ด๋ค์ด ๋ญ๊ฐ ๋ถ๋ง ๊ฐ๋ํ ํ์ ์ด๋ฉด "์ด๊ฑด Scalable ํฉ๋๋ค!"๋ผ๊ณ ํ๋ฉด ๋ชจ๋ ์นจํ๋ฆฌ๋ฉด์ ๊ณ ๊ฐ๋ฅผ ๋๋์ผ๊ฑฐ๋ค. ๊ทธ๋งํผ ์ค์ํ๊ธฐ๋ํ๊ณ ๋๋ก๋ ์ง๋์น๊ฒ ๊ธฐ์ ์ค์ฌ์ ๋น ์ง๊ฒ ํ๋ ๋จ์ด๋ค.
www์์ ์์ฐ๋๋ ํ์ด์ง๋ ๊ทธ์ผ๋ง๋ก ํญ๋ฐ์ ์ด๋ค. ๋จ ํ ๋์ ํฌ๋กค๋ฌ๋ก ์ ์ธ๊ณ์ ๋ชจ๋ ํ์ด์ง๋ฅผ ์์ง ํ ์๊ฐ ์๋๋ฐ ๋น์ฐํ๊ฒ๋ ์ฌ๋ฌ๋์ ํฌ๋กค๋ฌ๊ฐ ํ์ ํ๋ฉด์ ์์ง์ฌ์ผ ํ๋ค.
Scalableํ ๋๊ท๋ชจ ๋ณ๋ ฌ ํฌ๋กค๋ฌ๋ฅผ ๋ง๋๋ ์์ญ์ผ๋ก ๋์ด๊ฐ๋๋ฐ๋ ์ฌ์ค ์ข ๋ ๊น๊ณ ์ด๋ ค์ด ๊ณ ๋ฏผ๋ค์ ํด์ผํ๋ค. ๋คํํ Scalable ํฌ๋กค๋ฌ ๊ด๋ จํด์๋ Parallel Crawler๋ผ๋ ๋ํ์ ์ด๊ณ ์ ๋ช ํ ๋ ผ๋ฌธ์ด ์๋ค.
์ด๋ฒ ๊ธ์์๋ ์ด์ ๊ฐ์ ๊ณ ๋ฏผ๋ค์ ์ต๋ํ ๋ค๋ค ๋ณผ ์์ ์ด๋ค.
ํฌ๋กค๋ง์ ์ ํ๋๊ฑธ๊น? ์ฑํ ์จ๋ผ์ธ ๊ฐ์์์๋ ํฌ๋กค๋ง์ด๋ผ๋ ์ฉ์ด๋ฅผ '๋ฐ์ดํฐ๋ฅผ ์์ง'๊ณผ ๊ฐ์ ์๋ฏธ๋ก ์ต๋ฌด์ ์ฒ๋ผ ๋ฐ๋ณตํ๋ค. ๊ทธ๋์ ์ฌ๋๋ค์ด 'ํฌ๋กค๋ง'์ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ผ๋ ํ์๋ก ๋ง์ด๋ค ์คํดํ๋ ๊ฑธ ๋ง์ด ๋ดค๋ค. ๊ทธ๋ฌ๋ ์น ํฌ๋กค๋ฌ๋ ๋ณด๋ค ๋ณต์กํ ์ผ์ ํด๋ด์ผ๋ง ํ๋ ์ํํธ์จ์ด๋ค.
์น ํฌ๋กค๋ง์ ์ ํ๋์ง ์๊ธฐ ์ํด์๋ ๋จผ์ ํฌ๋กค๋ฌ๊ฐ ์ ๋ณด ๊ฒ์(IR, Information Retreival)๊ณผ ๋งค์ฐ ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์๋ค๋ ๊ฑธ ์์์ผ ํ๋ค. ๊ทธ๋ฅ ๊ฒ์์ด๋ผ๊ณ ํ๋ฉด ๋์ง ์ ์ด๋ ต๊ฒ ์ ๋ณด ๊ฒ์์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฐ๋๊ณ ๋ฌป๋๋ค๋ฉด ์ด ๋ถ์ผ ๊ต์๋๋ค์ด ์ด ์ฉ์ด๋ฅผ ์ ํธํ๊ธฐ ๋๋ฌธ์ด๋ค. ํํ ์ฐ๋ฆฌ๊ฐ ๊ตฌ๊ธ์ ํค์๋๋ฅผ ์ง์ด ๋ฃ๋ ๊ฒ์ ๊ฒ์(Search)์ด๋ผ๊ณ ํ๊ณ ํ๊ตฌ์ ์ธ ์ฉ์ด๋ก๋ ์ ๋ณด ๊ฒ์์ด๋ผ๊ณ ํ๋ค. ์ด ์ ๋ณด ๊ฒ์์ ๋ํด ์ค๋ช ํ๋ ค๋ฉด ํฌ์คํ ํ ๊ฐ๋ฅผ ๋ชจ๋ ์จ๋ ์ค๋ช ํ์ง ๋ชปํ ์ ๋๋ก ๋ฐฉ๋ํ ์์ ๋ค๋ค์ผ ํ๋ค. ๊ทธ๋์ ์ด๋ฒ ๊ธ์์๋ ์ ๋ณด ๊ฒ์์ด๋ ๊ฒ์ ์์ง์ ๋ํ ์์ธํ ๋ฐฐ๊ฒฝ ์ค๋ช ๋ณด๋ค๋ ๊ฒ์(Search) ์๋น์ค๋ฅผ ์์ฃผ๋ก ์ด์ผ๊ธฐ ํ๋ ค๊ณ ํ๋ค.
๐ ๊ทธ๋๋ ๊ฒ์ ์๋ ค ์ฃผ์ธ์
Search๋ ์๋ฌด๋๋ ์ผ๋ฐ ์ฌ์ฉ์๋ค์ ์๋น์ค ์๋ฏธ์ ๊ฐ๊น๊ณ ๊ธฐ์ ์ ์ผ๋ก๋ Information Retrival์ด๋ผ๋ ๋ฉ์ง ๋ง์ ์ด๋ค. ๊ฒ์์ ๋ํด์ ๋ ๊ด์ฌ์ด ์๊ธด๋ค๋ฉด ์๋ ๊ฐ์๋ฅผ ๋ณด๋ฉด ์ข๋ค. ๋ ์ด์ ๊ด๋ จํ ๊ธ์ ์ด๋งํผ ์ธ ์์ ์ด ์๋ค. ใ ใ . IR ๊ด๋ จํด์ ๊ณต๋ถํ๋ค๋ฉด ๋งค์ฐ ์ ์์ ์ผ๋ก ๋ฑ์ฅํ๋ ์คํ ํฌ๋์ ์ ๋ช ํ ๊ฐ์๋ค. ๊ตญ๋ด์ ํ๊ธ ๋ฒ์ญ๋ณธ๋ ํ๋งค ์ค์ด๊ธดํ๋ฐ ๋น์ธ๋ค.
์น ํฌ๋กค๋ฌ๋ ๊ฒ์ ์๋น์ค์์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ๋ด๋นํ๊ณ ์๋ค. Google, Yandex, DuckDuckGo ๊ฐ์ ๊ฑฐ๋ ๊ฒ์ ์๋น์ค๋ค์ ์น ์ฌ์ดํธ์์ ์ข์ ์ ๋ณด๋ฅผ ์ ํํ ์ฐพ์ ๋ด์ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํด์ผํ๋ค. ๊ทธ๋ฌ๋ฉด ๋น์ฐํ ์น์์ ์์ฑ๋๋ ์ ๋ง์ ํ์ด์ง๋ค์ ์์งํด์ผํ๊ณ ์ ๋ฆฌํด ๋์ด์ผ ํ๋ค. ์ฐ๋ฆฌ๊ฐ ๊ตฌ๊ธ๋ง์ด๋ผ๊ณ ๋งํ๋ ๊ฒ์ ์๋น์ค๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ๊ตฌ๊ธ์ GoogleBot์ด๋ผ๋ ํฌ๋กค๋ฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Pinterest ๊ฐ์ ์๋น์ค๋ ์ด๋ฏธ์ง๋ง์ ์ง์ค์ ์ผ๋ก ์์งํ๋ ํฌ๋กค๋ฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
"Web crawlers are an essential component to search engines."
๐ An Analysis on Search Engines: Techniques and Tools, R. Rubini1, Dr. R. Manicka Chezian
ํฌ๋กค๋ฌ๋ ๊ทธ๋ฐ ๋๊ท๋ชจ ๊ฒ์ ์๋น์ค๋ฅผ ํ๋ ๊ณณ์์๋ ์ฐ์ด๋ ๊ธฐ์ ์ด์ง ์ฐ๋ฆฌ ๊ฐ์ ์์(?) ๊ฐ๋ฐ์๋ค์ด์ผ ๊ทธ๋ฅ ๐ BeautifulSoup๋ ๐ Selenium์ ์ ์ฐ๋ฉด์ ์ํ๋ ์ ๋ณด๋ง ์ผ์์ ์ผ๋ก ์คํฌ๋ํ ํ๋ฉด ๋ก ์๋๊น? ์ค์ ๋ก ์ง์ฅ์ด๋ ํ๊ต์์ ๋ง๋ฅ๋จ๋ฆฌ๋ ์๊ตฌ์ฌํญ์ ์ด๋ ๋ช ํ์ด์ง์ ์ ๋ณด๋ง ์ง์์ ์ผ๋ก ๊ฐ๊ณ ์์ผํ๋ ์ผํ์ฑ ์์ ๋ค์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด์ ๊ด๋ จํด์๋ ์ด ๊ธ์ ๋ง์ง๋ง ์ฏค์ ์๋ ๐ฎ ๋๋ฌด ๋ณต์กํด์์์ ๋ค๋ฃจ๋ ค๊ณ ํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์ธํฐ๋ท ๊ฐ์์์ ๋งํ๋ ์น ํฌ๋กค๋ฌ๋ค ๋ง๊ณ ์ง์ง ์น ํฌ๋กค๋ฌ๋ ๋ฌด์์ผ๊น? ํฌ๋กค๋ฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์น ์ฌ์ดํธ๋ฅผ ํํํ๊ณ ํ์ด์ง๋ฅผ ์์งํ๋ ์์คํ ์ด๋ผ๊ณ ํ ์ ์๋ค. ๋ด๊ฐ ๋ณต์กํ๊ฒ ์ค๋ช ํ ๊ฒ๋ ์์ด ๊ตฌ๊ธ ๋ธ๋ก๊ทธ์ ํฌ๋กค๋ฌ๋ ๋ฌด์์ธ์ง ์ ์ค๋ช ๋ ๊ธ์ด ์๋ค.
๐ ๊ฒ์์ ์๋ฆฌ
"๊ตฌ๊ธ์ โ๊ตฌ๊ธ๋ดโ์ด๋ผ๊ณ ํ๋ ์ผ๋ จ์ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค. ๊ตฌ๊ธ๋ด์ ๋งค์ผ ๋์์์ด ์น์์ ์กด์ฌํ๋ ์์ญ๋ง ๊ฐ์ ํ์ด์ง๋ฅผ โ๋ฐฉ๋ฌธโํฉ๋๋ค. ์ด ๊ณผ์ ์ โํฌ๋กค๋ง(crawling)โ์ด๋ผ๊ณ ํ๋๋ฐ ๋ชจ๋ ์ ๊ตํ ์๊ณ ๋ฆฌ๋ฌ์ผ๋ก ์ง์ฌ ์์ต๋๋ค. ๋ค์ ๋งํด ์ด๋ค ์ฌ์ดํธ๋ฅผ ํฌ๋กคํ ์ง, ์ผ๋ง๋ ์์ฃผ ํ ์ง ๋ ๊ฐ ์ฌ์ดํธ์์ ์ผ๋ง๋ ๋ง์ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ ๊ฒ์ธ๊ฐ์ ๋ํ ํ๋ก๊ทธ๋จ์ด ์ง์ฌ ์์ต๋๋ค."
ํฌ๋กค๋ฌ๊ฐ ๋์ํ๋ ๋ฐฉ์์ ์ฐ๋ฆฌ๊ฐ ๋ฐฉ๊ตฌ์์์ ์๊ฐ ๋ผ์ธ ๋ ํ๋ '์น ์ํ'๊ณผ ๊ณผ์ ์ด ๊ฐ๋ค. ํฌ๋กค๋ฌ๋ ์ฒซ ํ์ด์ง์์ ๋ค๋ฅธ ์ฌ์ดํธ๋ ๊ฒฝ๋ก๋ก ์ด๋ ํ ์ ์๋ link๋ค์ ์ฐพ์ ๋ธ ๋ค์ ํ๋์ฉ ์ฐจ๋ก๋ก ๋ฐฉ๋ฌธํ๋ค.
์น ํฌ๋กค๋ฌ๋ ๊ฒฐ๊ตญ ์ ์ธ๊ณ์ ์น ์ฌ์ดํธ๋ฅผ BFS, DFSํ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ฅ ํ๋ฒํ ๊ทธ๋ํ ํ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฐ๋ฐ ํ ์ ์์ง๋ง์ ์๋ค. www๊ฐ ๊ฐ์ง ํน์ฑ ๋๋ฌธ์ ์น ํฌ๋กค๋ง์๋ ๊ณ ๋๋ก ๋ฐ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์์คํ ๋์์ธ์ด ํ์ํ๋ฐ ์๋์์ ์ ์น ํฌ๋กค๋ง์ด ๋ง๋ง์น ์์์ง ์ดํด๋ณด๋๋ก ํ์.
์น ํฌ๋กค๋ฌ๋ฅผ ์ด์ํ๋ ๊ฒ์ ์๊ฐ๋ณด๋ค ์ด๋ ค์ด ์ผ์ด๋ค. ๋์์์ด ์๋ํด์ผํ๋ ์ฑ๋ฅ ๋ฌธ์ ๋ ์์ง๋ง ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ํ ์ ์๋ robots.txt ๊ฐ์ ์ฌํ์ ์ด์๋ ์๋ค. ์๋ฐฑ ์์ฒ ๊ฐ์ ์น ์ฌ์ดํธ๋ค์ ํํํ๋ฉด์ ์น ์๋ฒ์ ์ํธ์์ฉํ๊ธฐ ๋๋ฌธ์ ํฌ๋กค๋ฌ๋ ๋ฐ์ด ๋๊ธฐ ๋งค์ฐ ์ฌ์ด ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ค.
๐ ํฌ๋กค๋ฌ, ๐ํ๋ก ํฐ์ด, ๐ท์คํ์ด๋?
ํฌ๋กค๋ฌ๋ ์ฌ๋ฌ๊ฐ์ง ์ด๋ฆ์ ๊ฐ๊ณ ์๋ค. ์ด๋ค ๋ ผ๋ฌธ์์๋ Web Spider๋ผ๊ณ ํ๊ณ ์ด๋ค ๋ ผ๋ฌธ์์๋ URL Frontier๋ผ๊ณ ์ฐ๊ธฐ๋ ํ๋ค. 2000 ์ค๋ฐ๋์ ๋ค์ด์๋ ๊ฑฐ์ Web Crawler๋ก ๊ตณ์ด์ง ๊ฒ ๊ฐ๋ค. ๋ค๋ง Scraper๋ผ๋ ์ฉ์ด๋ Cralwer์๋ ๋ฌ๋ฆฌ ํน์ ๋ชฉ์ ์ ์ํด ๋ช๋ช ์ฌ์ดํธ๋ฅผ ์์งํ๋ ๊ฐ๋ ์ผ๋ก ์ธ๊ธ ๋๊ณ ์๋ค.
ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค๊ธฐ ์ด๋ ค์ด ์ด์ ๋ ํฌ๊ฒ ๋๊ฐ์ง๋ฅผ ๊ผฝ์ ์ ์๋ค.
์ธํฐ๋ท ์ธ๊ณ๋ ์ ๋ง ํฌ๋ค. ํฌ๋กค๋ฌ ํผ์์ ์ด ๋ชจ๋ ํ์ด์ง๋ฅผ ๋ค ํ์ํ๊ธฐ์ ๋๋ฌด๋๋ ๋๋ค. ํฌ๋กค๋ฌ๊ฐ ํ ํ์ด์ง๋ฅผ ์ด์ฌํ ์ฝ๋ ๋์ ๋ค๋ฅธ ํ์ด์ง์์๋ ์์ ์ด ์ผ์ด๋๋ค. ์ด์ฌํ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ๋ ํ์ํ๋ฌ๊ฐ๋ฉด ์ด๋์๋ ๋ฌธ์๊ฐ ์ญ์ ๋๊ณ ์ด๋์๋ ๋ ์๋ก์ด ๋ฌธ์๊ฐ ์๊ฒจ๋๋ค. ์ด๋ฐ ์ผ์๊ณผ ๊ฐ์ ์ธํฐ๋ท ํ๊ฒฝ์์ ํฌ๋กค๋ฌ๋ ๋ชจ๋ ํ์ด์ง๋ฅผ ๋น ์ง ์์ด ๋ฐฉ๋ฌธํด์ผํ๊ณ ํ์ด์ง๊ฐ ์์ ๋๋ฉด update๋ ํด ์ฃผ์ด์ผ ํ๋ค. ํ์ฅ์ฑ(Scalability)๋ ํฌ๋กค๋ฌ๋ฟ๋ง์ด ์๋๋ผ ๋ค๋ฅธ ๋ถ์ผ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฒช๋ ๋ฌธ์ ๋ค.
ํฌ๋กค๋ฌ๊ฐ ์์ฃผ ๋นจ๋ผ์ ์ ์ฒด ์น์ ์ ํ์ํ๊ณ ์๋ค๊ณ ํ์. ๋ชจ๋ ํ์ด์ง๊ฐ ๊ณ ํ์ง์ ์๋๊ณ ๊ทธ ์ค์๋ ๊ด๊ณ ๋ ์๊ณ ๊ทธ๋ฅ ํ ์ค ์ง๋ฆฌ ํฌ์คํ ๋ ์์๊ฒ์ด๋ค. ํฌ๋กค๋ฌ์ ์๋ฌด๋ ์ข์ ํฌ์คํ ์ ๋นจ๋ฆฌ ํ๋ํ๊ณ ์คํธ ํฌ์คํ ์ ์ต๋ํ ํผํ๋ ๊ฒ์ด๋ค.
๊ฒ์ ์๋น์ค๋ ์ข์ ํค์๋๋ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง ํฌ์คํธ์ ๋์ ์ ์๋ฅผ ์ค๋ค. ์ ์๊ฐ ๋์์ง ํฌ์คํธ๋ ๊ด๋ จ ๊ฒ์ ๊ฒฐ๊ณผ์์ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ๊ฒ ๋๋๋ฐ ๋ฐ๋ก ์ด ์ ์ ๋ ธ๋ฆฌ๊ณ ๊ฒ์ ๊ฒฐ๊ณผ ์๋จ์ ๋ ธ์ถ๋๋ ค๊ณ ๋ญํน ์๊ณ ๋ฆฌ์ฆ์ ์์๋ด ์ด๋ทฐ์งํ๋ ค๊ณ ์ ๋ฅผ ์ฐ๋ ์ฌ๋๋ค์ด ์๋ค. ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ, ํฐ์คํ ๋ฆฌ ๋ฑ์ ์คํธ ๊ฒ์๊ธ ์๋์๋ ๊ด๋ จ ์๋ ์จ๊ฐ ํค์๋๋ค์ด ํ๊ทธ๋ก ๋ฌ๋ ค ์๋ ๊ฒ์ ๋ง์ด ๋ณธ ์ ์ด ์์ํ ๋ฐ ๋ชจ๋ ๊ฒ์ ์์ง๊ณผ ํฌ๋กค๋ฌ๋ฅผ ์ด๋ทฐ์งํ๊ธฐ ์ํ ๊ฒ์ด๋ค.
๊ฒ์ ๋ง์ผํ ์ ์์ฃผ ํฐ ๋น์ฆ๋์ค์ด๊ณ ๋ค์ด๋ฒ๋ ์นด์นด์ค๊ฐ ๋ญํน ์๊ณ ๋ฆฌ์ฆ ์ ์ฑ ์ ๋ณ๊ฒฝํ๋ ์ฆ์ ์ธ๋ถ ๊ฒ์ ๋ง์ผํ ์ ์ฒด์์ ๊ท์ ๊ฐ์ด ์์๋ด๊ณ ๋ค์ ์คํธ ํฌ์คํ ์ ์ต์๋จ์ ์ฌ๋ ค ๋๊ณค ํ๋ค. ์ด๋ฐ ์ฌ์ค์ ์ ์ถํ๋ ์ฌ๋์ด ์ฌ๋ด์ ์๋ค๋ ๊ฐํ ์์ฌ์ด ๋ค์ง๋ง ์ฃผ์ ๋ฅผ ๋ฒ์ด๋๋ฏ๋ก ์ฌ๊ธฐ๊น์ง๋ง ์๊ฐํ์. ์ค์ํ๊ฑด ๊ฒ์ ๊ฒฐ๊ณผ์์ ์์๋ฅผ ์ฐจ์งํ๊ธฐ ์ํ ์ ์์ด ๋ฒ์ด์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋งํผ ํฌ๋กค๋ฌ๋ '์ง์ง' ํฌ์คํ ์ ์ ์ฐพ์๋ผ ํ์๊ฐ ์๋ค.
์คํธ ํฌ์คํ ์ด ๋๋ฌด ๋ง๋ค๋ ์๊ฐ์ ๋๊ตฌ๋ ๊ฒช์ด ๋ดค์ ํ ๋ฐ ๋ค์ด๋ฒ ์ํฌ๋ง์ ๋ธ๋ก๊ทธ์์ ์๋ง์ ์ด๋ชจํฐ์ฝ๋ค ๋์ง๋์ง ์ฌ์ด์์ ๋ญ๊ฐ๋ฅผ ์ฐพ์ ๋ด๊ฑฐ๋, ์ค๋ช ํ๋ ์์๊ณ Youtube ์์์ 20๋ถ์ฉ ๋ณธ ๊ฒฝํ๋ค์ด ์์ ๊ฒ์ด๋ค. ์น ํฌ๋กค๋ง๊ณผ ๊ฒ์ ๋ถ์ผ์ ์ต๊ณ ๋ผ๊ณ ์๋ ค์ง ๊ตฌ๊ธ๋ ์ ํ์ง ์ปจํ ์ธ ๋ฅผ ์๋ฒฝํ๊ฒ ์ ๊ฑฐ ํ ์ ์์๋ค. ๊ตฌ๊ธ์ ์ ์ธ๊ณ ๊ฒ์ ๊ฒฐ๊ณผ์ 92%๋ฅผ ์ฐจ์งํ๊ณ ์์ง๋ง ๊ฒ์ ๊ฒฐ๊ณผ์ค 66%๋ ํด๋ฆญ ๋นํด๋ณด์ง๋ ๋ชปํ๋ค.
๐ In 2020, Two Thirds of Google Searches Ended Without a Click
๐ Search Engine Market Share Worldwide
๊ฒ์ ์์ง์ ๋ญํน ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ง์ ์ ๋ง๊ฒ ๋ธ๋ก๊ทธ ํฌ์คํ ์ด๋ ํ์ฌ ํํ์ด์ง๋ฅผ ์ ๋ฆฌ ํ๋ฉด ๊ฒ์ ๊ฒฐ๊ณผ์์ ์์์ ๋ ธ์ถ๋ ํ๋ฅ ์ด ๋๋ค. ์ด๋ฐ ๊ณผ์ ์ ๊ฒ์์์ง ์ต์ ํ(SEO)๋ผ๊ณ ํ๋๋ฐ ์ปจํ ์ธ ๊ฐ ๋ญํน ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ถํฐ ๋์ ์ ์๋ฅผ ์ป๊ฒ ํ๋ ๊ฒ์ด ๋ชฉํ๋ค. ๊ฐ ๊ฒ์ ์๋น์ค๋ง๋ค ์ด๋ป๊ฒ ํ๋ฉด SEO๋ฅผ ์ ํ ์ ์๋์ง ๊ฐ์ด๋๋ผ์ธ์ ์ ์ํ๊ณ ์๋ค. ๊ตฌ๊ธ์ SEO ์ฑ๊ณต ์ฌ๋ก๋ค์ ์๊ฐ์ค์ธ๋ฐ ์ด ์ค์๋ ํ๊ตญ์ ์ฌ๋ก์ธ '์ฌ๋์ธ'์ด ์ด๋ป๊ฒ ๋ฐฉ๋ฌธ์๋ฅผ ๋๋ ธ๋์ง ์๊ฐํ๋ ๋ถ๋ถ๋ ์๋ค.
๐ ๊ฒ์์์ง ์ต์ ํ ์ฐ์์ฌ๋ก ๋ฐ ์ฑ๊ณต์ฌ๋ก ย |ย Google ๊ฒ์ ์ผํฐ
๋ค์ด๋ฒ์ ๊ฒฝ์ฐ ์๋ '์น๋ง์คํฐ ๋๊ตฌ'๋ผ๊ณ ํ์๋๋ฐ '๋ค์ด๋ฒ ์์น ์ด๋๋ฐ์ด์ '๋ก ์ด๋ฆ์ ๋ณ๊ฒฝ ํ๊ณ ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฒ์ ์๋น์ค๋ก์ ์ญํ ์ ํด๋ด๋ ค๊ณ ์ ์ฐ๊ณ ์๋ค.
๐ ๊ฒ์์์ง ์ต์ ํ(SEO), ์์ง๋ ํ๊ตญ์์ ์๋จนํ๊น?
์ด์ฉ๋ฉด ํฌ๋กค๋ง์์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด ๋ ์๋ ์๋ ๊ฒ์ด robots.txt ์ค์์ธ๋ฐ ์ ๋๋ก ์๊ฐ ๋ ๊ธ์ ์์ง ๋ง๋ ๋ณธ ์ ์ด ์๋ค. ํฌ๋กค๋ฌ ๊ด๋ จ ๊ฒ์์ ํด ๋ณด๋ฉด ์ฝ๋๋ฅผ ์ด๋ป๊ฒ ์ง๋์ง ๊ธ๊ธํด ์ด robots.txt์ ์ค๋ช ์ ์์ ์๊ฑฐ๋ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค.
ํฌ๋กค๋ฌ๋ ์์ ํ๊ฒ ํ์ด์ง๋ง ๊ธ๊ณ ๋ ๋์ผ์ง ํ์ ์ด์์ผ๋ก ์น ์๋ฒ์ ๊ณผ๋ํ HTTP ์์ฒญ์ ๋ณด๋ด์ ์๋๋ค. ๋ง์ฝ ์ฌ๋ฌ๋๋ก ๊ตฌ์ฑ๋ ํฌ๋กค๋ฌ๋ค์ด ๋์์ ํ ์น ์ฌ์ดํธ, ์๋ฒ๋ฅผ ๋ฐฉ๋ฌธํ๋ค๋ฉด DDoS ๊ณต๊ฒฉ์ด๋ ๋ค๋ฅผ๋ฐ ์๋ค. ์ฌ์ดํธ๊ฐ ๋ง๋น ๋ ๊ฑฐ๊ณ ์ด์์๊ฐ ๊ณ ์ํ๋ฉด ์ฌ์ด๋ฒ ์์ฌ๋์์ ๋ ์ฒดํฌํ ์ง๋ ๋ชจ๋ฅธ๋ค.
๋ ๋ฐฉ๋ฌธํด์ ๋ฐ์ดํฐ๋ฅผ ํจ๋ถ๋ก ๊ฐ์ ธ๊ฐ์ง ๋ง๋ผ๊ณ ๋ช ์ ํด ๋ ๊ฒฝ๋ก์ ํฌ๋กค๋ฌ๋ ๋ฐฉ๋ฌธ ํด์๋ ์๋๋ค. ์ด rule์ ์จ ๋ ๊ณณ์ด ๋ฐ๋ก robots.txt์ธ๋ฐ ๊ฐ ์ฌ์ดํธ์ ๋ฃจํธ ๋๋ฉ์ธ์์ robots.txt๋ฅผ ์กฐํ ํด ๋ณผ ์ ์๋ค. ๐ค ๋ค์ด๋ฒ ๋ด์ค ํ์ด์ง์ robots.txt๋ฅผ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
User-agent: Yeti
Allow: /main/imagemontage
Disallow: /
User-agent: *
Disallow: /
๋ค์ด๋ฒ ๋ด์ค ํ์ด์ง์์ ํ์ธ ํ ์ ์๋ฏ์ด Disallow / ๊ฐ ์๋ ์ด์ ํฌ๋กค๋ฌ๋ ๋ด์ค ํ์ด์ง๋ฅผ ํ์ ํ ์ ์๋ค. ๋ฐ๋ก ์ด ๋ก๋ด ๋ฃฐ ๋๋ฌธ์ ๊ตฌ๊ธ์์๋ ๋ค์ด๋ฒ ๋ด์ค๊ฐ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ๋จ์ง ์๋๋ค. ๋ชจ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐฉ๋ฌธํ์ง ๋ง๋ผ๊ณ ๋ช ์ ํด ๋์๊ธฐ ๋๋ฌธ์ด๋ค.
User-agent: *, ์ฆ ๋ชจ๋ ์ฌ์ฉ์, ํฌ๋กค๋ฌ๋ / ์์ญ์ ๋ฐฉ๋ฌธํด์๋ ์๋๋ค. ์ฌ์ค ์ง๊ธ๊น์ง ์จ๊ฐ ๋ธ๋ก๊ทธ์์ ์๊ฐํ ๋ค์ด๋ฒ ๋ด์ค ํฌ๋กค๋ฌ๋ค์ robots.txt๋ฅผ ์ค์ํ์ง ์์ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ ๋ค์ด๋ฒ ๋ด์ค ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธ ํ ์ ์๋๋ก ํ์ฉ๋ User-agent๊ฐ ํ๋ ์๋๋ฐ Yeti๋ ๋ค์ด๋ฒ๋ฅผ ํฌ๋กค๋ง ํ ์ ์๋ค. Yeti๋ ๋ค์ด๋ฒ์์ ๊ฐ๋ฐํ ํฌ๋กค๋ฌ๋ค.
๋ค์ด๋ฒ๋ Yeti๋ผ๋ ํฌ๋กค๋ฌ ์ ์ NaverBot์ด๋ผ๋ ํฌ๋กค๋ฌ๋ ๊ณผ๊ฑฐ ์ผ๋ณธ ์์ฅ ์ง์ถ์ ์๋ ํ๋ค๊ฐ ์๋จน๊ณ ์ฌ๋ผ์ง ์ด๋ ฅ์ด ์๋ค. NaverBot์ ์ผ๋ณธ ์ํคํผ๋์์ '์ ์ฑ ๋ด'์ผ๋ก ๋ฑ๋ก๋๋ ์ค๋ช ์ ๊ฐ๊ฒ ๋๋ค. ํ๊ตญ์์ ๋ค์ด๋ฒ๋ ์๋นํ ์ฑ๊ณตํ ๊ฒ์ ์๋น์ค์ด์ง๋ง ์ผ๋ณธ์์ ๋ค์ด๋ฒ์ ํฌ๋กค๋ฌ๋ robots.txt๋ฅผ ์ค์ํ์ง ๋ชปํ๋ค๋ ์ด์ ๋ก ๊ฝค ๋ง์ ์์ ๋จน์์๋ค.
๐ NaverBot
"์ผ๋ณธ์์๋ ๊ตญ์ ๊ธฐ์ค์ ๋ํ ๋์์ด ๋ฏธ๋นํ๋ค๋ ์ผ๋ถ Web ์ฌ์ดํธ ๊ด๋ฆฌ์๋ค์ ์ง์ ์ผ๋ก ์ก์ธ์ค๋ฅผ ๊ฑฐ๋ถํ ๊ฒฝ์ฐ๋ ์์๋ค. ์ด์ ๋ํด ๋ค์ด๋ฒ ์ธก์ ๊ณต์ ์ฝ๋ฉํธ๋ฅผ ๋ด๊ณ ์์ง๋ ์์ง๋ง, ํ์ ํฌ๋กค๋ฌ (YetiBot)๋ ๋น์ ์ง์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ชจ๋ ํด๊ฒฐ๋์ด์๋ค."
"ๆฅๆฌใงใฏใๅฝ้ๅบๆบใธใฎๅฏพๅฟไธๅใชใฉใฎๅ้กใไธ้จใฎWebใตใคใ็ฎก็่ ใใซๆๆใใใใขใฏใปในใๆๅฆใใใตใคใใ่ฆใใใใใใใซๅฏพใใฆใใใคใใผๅดใฏๅ ฌๅผใฎใณใกใณใใๅบใใฆใฏใใชใใใๅพ็ถใฎใฏใญใผใฉใผ๏ผYetiBot๏ผใงใฏๅฝๆๆๆใใใไปฅไธใฎใใใชๅ้กใฏใในใฆ่งฃๆฑบใใใฆใใใ"
๐ https://ja.wikipedia.org/wiki/NaverBot ๐ฏ๐ต
๋ค์ด๋ฒ์ ์ผ๋ณธ ์ง์ถ์ ์ด๊ฒ์ผ๋ก ์ธ๋ฒ์งธ๋ค. ์ผ๋ณธ์ ์๋น์ค๋ฅผ ์ถ์ํ๊ธฐ์ ์์ ๋จผ์ ํฌ๋กค๋ฌ๋ฅผ ๋ณด๋ด์ ์ผ๋ณธ์ ์น ํ์ด์ง๋ฅผ ํ์ ํ ํ์๊ฐ ์์๊ฒ ์ง๋ง robots.txt๋ฅผ ์ค์ํ์ง ์์ ๋ถ์ ์ ์ธ ์์ ์ ์ฌ๊ณ ๋ง์๋ค.
๐ฐ ์ดํด์ง์ 3๋ฒ์งธ ๋์ โฆ"๋ค์ด๋ฒ ๊ฒ์ ์ผ๋ณธ ์ง์ถ ์ด๋ฒ์ ๊ผญ ์ฑ๊ณต"(์ข
ํฉ)
๐ฐ ๋ค์ด๋ฒ, 3ยท1์ ์ ์ผ๋ณธ ์ง์ถ ์ ์ธโฆ์ดํด์ง ์ธ๋ฒ์งธ ๋์ ์ฑ๊ณตํ ๊น
๋น์ทํ๊ฒ ์ค๊ตญ์ ๋ฐ์ด๋์ ํฌ๋กค๋ฌ ๋ก๋ด๋ ์ด์ ๊ด๋ จํด ๋ฌธ์ ๋ฅผ ์ผ์ผํจ ์ ์ด ์๋ค. ํฌ๋กค๋ฌ๋ ๊ธฐ์ ์ ์ฑ๋ฅ๋ ์ค์ํ์ง๋ง ์ด๋ฐ ์ฌํ์ ์ด์๋ ๋ ์ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ค. ๋ฐ๋ฉด ๊ตฌ๊ธ์ ๊ฒฝ์ฐ ์์ ๋ค์ ๋ก๋ด๊ณผ ํฌ๋กค๋ฌ์ ๋ํด์ ์์ธํ ์ค๋ช ํด ๋์๋ค.
๐ ๊ธฐ์ ํ์ค
"์น ํผ๋ธ๋ฆฌ์ ์ ์๊ฒฌ์ ์กด์คํ ์ ์๋ ์ด์ ๋ ๊ตฌ๊ธ์ด โ์ธํฐ๋ท ๊ฒ์์์ง ๋ฐฐ์ ํ์คโ(Robots Exclusion Protocol)๊ณผ NOARCHIVE ๋ฉํ ํ๊ทธ๋ฅผ ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ตฌ๊ธ๋ณด๋ค ์์ ์ ์ ๋ฆฝ๋ ๊ธฐ์ ์๋ ๊ฒ์์์ง์ ์ฌ์ดํธ์ ์ด๋ค ๋ถ๋ถ์ด ๊ฒ์ ๊ฐ๋ฅํ๊ณ , ์ด๋ค ๋ถ๋ถ์ ๊ฒ์๊ฒฐ๊ณผ์ ๋ํ๋์ผ ํ ์ง๋ฅผ ๊ตฌ๋ณํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค."
์ด๋ ๋ฏ robots.txt๋ ๋ด๊ฐ ๋ธ๋ก๊ทธ๋ฅผ ์ด์ํ๊ฑฐ๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐ ํ ๋ ์ด๋ค ์ ๋ณด๋ฅผ ์ค์ ์ ์ผ๋ก ๋ ธ์ถํ๊ณ ์ด๋ค ๊ฒ์ ํฌ๋กค๋ง๋์ง ์๊ฒ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ ์ ์๋ ์ค์ํ ๊ฐ๋ ์ด๋ค. SEO์๋ ์ํฅ์ ๋ง์ด ๋ผ์น๋๋ฐ ์คํํธ์ ์ ๋ํ๋ ๊ฐ๋ฐ์๋ค ์กฐ์ฐจ๋ ์ด ๋ถ๋ถ์ด ๋ฏธ๋นํ ๊ฒฝ์ฐ๋ฅผ ๋ง์ด ๋ดค๋ค. robots.txt๋ฅผ Disallow: /๋ผ๊ณ ์์ฑ ํด ๋ฌ์ ๊ตฌ๊ธ์์ ์์ฌ ์๋น์ค๋ช ์ ๊ฒ์ํด๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์ ๊ณ ๋ฏผ ํ๊ณ ์์๋ค. ๋ชจ๋ ํฌ๋กค๋ฌ๋ฅผ Disallow ํด ๋์ผ๋ ๋น์ฐํ ๊ฒฐ๊ณผ์์ง๋ง ์๋ฌด๋ ์ด์ ๋ ๋ชฐ๋๋ค.
Http ์์ฒญ ํค๋์ ์๋ User-Agent๋ ์์ฝ๊ฒ ์์ ํ ์ ์๋ค. ๋๊ตฌ๋ ๋์ถฉ ํฌ๋กค๋ฌ ํ๋ ๋ง๋ค์ด๋๊ณ 'GoogleBot'์ธ์ฒ ์์ผ ์ ์๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ํฌ๋กค๋ฌ๋ฅผ ์ด์ํ๋ ํ์ฌ๋ค์ ํฌ๋กค๋ฌ์ IP ๋์ญ๋ ํจ๊ป ๊ณต๊ฐ ํด ๋๊ณ ์๋ค. Pinterest์ ๊ฒฝ์ฐ์ 54.236.1.XXX IP ๋์ญ์ ์ฌ์ฉํ๋ค. ๋ฐ๋ผ์ Reverse DNS ์กฐํ๋ฅผ ํตํด์ ์ด User-agent๊ฐ ์ง์ง Pinterset ๋๋ Google-bot์ธ์ง ์ ์ ์๋ค.
๐ Pinterest ์ฌ์ฉ์ ID
Pinterest/0.2 (+https://www.pinterest.com/bot.html) Mozilla/5.0 (ํธํ, Pinterestbot/1.0, + https://www.pinterest.com/bot.html) Mozilla/5.0 (Linux, Android 6.0.1, Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, Gecko ๋ฑ) Chrome/41.0.2272.96 Mobile Safari/537.36 (ํธํ, Pinterestbot/1.0, + https://www.pinterest.com/bot.html)
Pinterest IP๋ ๋์ ์ด๊ณ ์์ฃผ ๋ณ๊ฒฝ๋์ง๋ง ํญ์ 54.236.1.XXX ๋ฒ์ ๋ด์ ์์ต๋๋ค.
๐ง ์ฌ๊ธฐ์ ๋ถํฐ๋ ๊ณต์ฌ์ค ์ ๋๋ค.
์ฌํด ์ด ๋ถํฐ ๊ณํ์ํ๊ณ ์ค๋นํด ์๋ ํฌ์คํธ์ ๋๋ค. ์ด๋๋ก ์๋ค๊ฐ๋ ํ์ ๊ธ ์ถ๊ฐ ๋ชปํ๊ฒ ๊ตฌ๋ ์ถ์ด์ ์ผ๋จ์ ์์ฑ์ค์ธ ์ํ๋ก๋ผ๋ ์์๋ก ์ฌ๋ฆฌ๊ธฐ๋ก ๋ง์๋จน์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ถํฐ๋ ์ค๊ฐ ์ค๊ฐ์ ๋ฌธ์ฅ์ด ์ด์ํ๊ณ ๋นต๊พธ๊ฐ ๋ ์๊ฑฐ๋ ์๋๋ฉด ์์ ์์ฑ์ด ์์๋ ์ ๋ ๋ถ๋ถ๋ ๋ง์ต๋๋ค. ์ฌ๋๋ค์ ๋ ์ด์ ๋ฐ์์ด ์์ผ๋ฉด ๋ ์ด์ฌํ ์ธ ์ ์์ ๊ฒ ๊ฐ์์ ๋น๋ก ๋ฏธ์์ฑ์ด์ง๋ง ์ผ๋จ ์ง๋ฅด๊ธฐ๋ก ํ์ต๋๋ค.
์ธํฐ๋ท ๊ฐ์์์ ๋งํ๋๋๋ก CSS Selector๋ฅผ ํตํด์ DOM์์ text๋ฅผ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ด ๋์๊ฑด ์๋์ง๋ง ์กฐ๊ธ๋ง UI๊ฐ ๋ณ๊ฒฝ ๋ผ๋ ์๋์ด ์ ๋ ๊ฐ์ค๋ฅผ ํด์ผํ๋ค. ๋ณธ๋ฌธ ์ถ์ถ ์ญ์ ์น ํฌ๋กค๋ง์ ํ ๋ ๋ง๋ฅ๋จ๋ฆฌ๋ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ค.
๋ด์ค ๊ธฐ์ฌ๋ฅผ ์ฝ๊ธฐ ์ํด ํ์ด์ง๋ฅผ ๋ก๋ํ๋ฉด ์ค์ํ ๋ณธ๋ฌธ ๋ด์ฉ๋ณด๋ค ์ ์ง ๊ด๊ณ ์ ๊ด๋ จ ์๋ ๋ค๋ฅธ ๋ด์ฉ๋ค์ด ๋ ๋ง์ ๊ฒฝ์ฐ๊ฐ ์๋ค.
DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑ ํ ๋ค์ Text๋ฅผ ํฌํจํ๊ณ ์๋ DOM์ ๋ฐ๋(Density)๋ผ๋ ๊ด์ ์์ ๋ฐ๋ผ๋ณด๊ณ ๋ณธ๋ฌธ์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ณ ์๋ค.
Fetch๋ ๋ค์์ ๋ฐฉ๋ฌธํ URL์ ๊ฐ์ ธ์์ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ๋ค. ์ฌ๊ธฐ์ ๋ฐฉ๋ฌธ์ด๋ Http ์์ฒญ์ ๋ณด๋ด Response Body๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณผ์ ์ด๋ผ ํ ์ ์๋ค. Body์ DOM ํด์์ Parse ๋จ๊ณ๋ก ๋๊ธด๋ค.
์ด๋ค ๋ ผ๋ฌธ๋ค์ Fetch ๋ถ๋ถ์ Multi-Thread Downloader๋ผ๋ ๋ค๋ฅธ ์ด๋ฆ์ ์จ์ ์๊ฐํ๊ธฐ๋ ํ๋๋ฐ ์ด ๊ธ์์ Multi-Thread๊น์ง ๋ค๋ฃจ๊ธฐ๋ ๋ฌด๋ฆฌ๊ฐ ์๋ค. ์ด๋๊น์ง๋ ๋ด ์๊ฐ์ธ๋ฐ ๋ฉํฐ ์ค๋ ๋ฉ ๋ณด๋ค๋ ๊ณง ์ค๋ช ํ Parallel Crawl์ ์ดํด ํ๋ ๊ฒ์ด ํจ์ฌ ๋ซ๋ค๊ณ ์๊ฐํ๋ค. Multi-Thread๋ฅผ ์ฃผ์ ๋ก ๊ธ์ ์ด๋ค๋ฉด velog ์ญ์ฌ์ ๊ฐ์ฅ ๊ธด ํฌ์คํธ๋ฅผ ์จ์ผ ํ ๊ฑฐ๊ณ ์ด ๋ถ์ผ๋ง ์ฃฝ์ด๋ผ ๊ณต๋ถํ์๋ ๋ถ๋ค๋ ์๋๋ฐ ๋ด๊ฐ ๊ฐํ ์ธ ์๊ฐ ์๋ค;
๊ฐ์ ธ์จ ํ์ด์ง ๋ด์ ๋ค๋ฅธ Hyperlink๋ฅผ ์ถ์ถ ํด๋ ๊ณผ์ ์ด๋ผ๊ณ ํด์ ๋ค๋ฅธ ๋
ผ๋ฌธ์์๋ URL extraction์ด๋ผ๊ณ ๋ ๋งํ๋ค. HTML ๋ฌธ์์ผ ๊ฒฝ์ฐ ์ฃผ๋ก <a>
ํ๊ทธ๋ <link>
๊ฐ ์ข์ ๊ฒ์ด๋ค. DOM์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
Parsing์ด ์ฝ์ง ์์ ์ด์ ๋ ์น ํ์ด์ง๊ฐ HTML ํ์ค์ ๋ ์งํค๊ณ ์๋๊ฑด ์๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ธ๋ผ์ฐ์ ๋ค์ ์ฌ์ดํธ๊ฐ HTML ํ์ค์ ์ ์งํค๊ฑฐ๋ ํ๊ทธ๊ฐ ์๋ง์น์ฐฝ์ด๋ผ๋ ์ฌ์ฉ์์๊ฒ ์ต๋ํ ์ ๋๋ก UI๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ธฐ ๋๋ฌธ์ ๊ด์ฐฎ์ง๋ง DOM ๋ฐ์ดํฐ๋ฅผ ํด์ํ๋ ์ ์ฅ์์๋ ํ๊ทธ ํ๋๋ง ์ ๋๋ก ๋ซํ์ง ์์๊ฑฐ๋ ์คํ๋ง ์์ด๋ ํผ๋์ด๋ค. ํ๊ต ๊ณผ์ ๋ ์ฝ๋ฉ ํ ์คํธ์์๋ ๋ ์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ํ์ง๋ง ์ผ์์ www๋ ์ ์ ์๋ ์์ธ ์ํฉ๋ค์ ํด๊ฒฐํด์ผ๋ง ํ๋ค. ์๋ฐฑ ๋จ์๋ก ์ค์ฒฉ๋ DOM ๊น์ํ ๋ด๋ ค๊ฐ์ผํ๊ณ UTF-8์ด ์๋ ๋ฌธ์๋ฅผ ๋ค๋ค์ผํ๋ Encoding ๋ฌธ์ ๋ฅผ ๋ง๋ ์๋ ์๋ค. ํนํ ์์ฆ์๋ ์ง๊ธ ์ด ๊ธ๊ณผ ๊ฐ์ด ์ด๋ชจ์ง๋ฅผ ๋ง์ด ์ฐ๊ธฐ ๋๋ฌธ์ ์ฃผ์๊ฐ ํ์ํ๋ค. ์ด๋ชจ์ง๋ UTF-8 4๋ฐ์ดํธ๋ก ํํ์ด ๋๋๋ฐ MySQL์ UTF-8์ 3๋ฐ์ดํธ๊ธฐ ๋๋ฌธ์ ์ด๋ชจ์ง๋ก ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ ์๋๋ฅผ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋ธ๋ผ์ฐ์ ์์ ํ์๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ๋ ์์ธํ ์๊ณ ์ถ๋ค๋ฉด ํ๊ตญ์ด๋ก ์ ์ ๋ฆฌ๋ ๊ธ์ด ์๋ค. ๐ ๋ธ๋ผ์ฐ์ ๋ ์ด๋ป๊ฒ ๋์ํ๋๊ฐ?
๋์ง๋ชฌ ํ๋ก ํฐ์ด ใ ใ .
์ง๊ธ๊น์ง ์ค๋ช ํ ๋ด์ฉ๋ง์ผ๋ก ์น ํฌ๋กค๋ฌ ์ฝ๋๋ฅผ ์์ฑ ํด ๋ณธ๋ค๋ฉด ๋์ถฉ ์ด๋ ์ง ์์๊น?
์ด๋ฏธ ๋ฐฉ๋ฌธ ํ๋ URL์ ๋ค์ ๋ฐฉ๋ฌธํ์ง ์๋๋ก ์ค๋ณต URL์ ์ ๊ฑฐํ๋ ๋จ๊ณ๋ค.
์๋ ๋ URL์ ์ค์ ๋ก ๊ฐ์ URL์ด๊ธฐ ๋๋ฌธ์ Query Parameter๋ Ordering์ ํด ์ฃผ์ด์ผ ํ๋ค.
https://example.com?page=1§ion=1
https://example.com?section=1&page=1
๐ Efficient URL caching for world wide web crawling
์๊พธ ๋ด ์ด์ผ๊ธฐํด์ ๋ฏธ์ํ๋ฐ ์ด๋ค ๋ ผ๋ฌธ์์๋ ์ด ๋ถ๋ถ์ Scheduler๋ผ๊ณ ํ๊ธฐ๋ ํ๋ค. ์ ์๋ฌดํผ, ํฌ๋กค๋ฌ๊ฐ ํ ๋ฒ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ๋ค๋ฉด ๋ค์์ ๋ค์ ์ด ํ์ด์ง๋ฅผ ์ธ์ ๋ฐฉ๋ฌธ ํด์ผํ ๊น?
์ผํ ๊ฐ์ ์คํ ๋ง์ผ ํ๋ซํผ์์ ํ๋งค์๊ฐ ๊ฐ๊ฒฉ์ ๋ฐ๊ฟจ์ ๊ฒฝ์ฐ ํฌ๋กค๋ฌ๋ ์ต๋ํ ๋นจ๋ฆฌ ๋ณ๊ฒฝ๋ ๊ฐ๊ฒฉ์ UPDATE ํ ํ์๊ฐ ์๋ค. ์ฌ์ฉ์๊ฐ ์ต์ ๊ฐ ์ํ์ ํด๋ฆญํ์์๋ ๋ถ๊ตฌ ๋ง์ ํ๋งค ํ์ด์ง์์๋ ์ ํ ๋ค๋ฅธ ๊ฐ๊ฒฉ์ด ํ์๋๋ ๊ฒฝํ์ ํด ๋ณธ์ ์ด ์์ ๊ฒ์ด๋ค. ํ๋งค์๊ฐ ๊ฐ๊ฒฉ์ ๋ฐ๊ฟจ์ง๋ง ํฌ๋กค๋ฌ๊ฐ ์ํ ํ์ด์ง๋ฅผ ์ฌ๋ฐฉ๋ฌธ(revisit)ํ์ง ์์ ๊ฐ๊ฒฉ UPDATE๊ฐ ์ด๋ค์ง์ง ์์ ๊ฒฝ์ฐ ์ด๋ฐ ์ผ์ด ๋ฒ์ด์ง๋ค.
Page Freshness๋ฅผ ์ ์ง ํ๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น? ํฌ๋กค๋ฌ๊ฐ ์ต๋ํ ์์ฃผ HTTP ์์ฒญ์ ๋ณด๋ธ๋ค๋ฉด Freshness๋ฅผ ์ ์งํ๊ธฐ ์ฝ๊ฒ ์ง๋ง ์น ํฌ๋กค๋ฌ๊ฐ ์์ต๊ฐ์ ์ํ ํ์ด์ง์ ๊ณ์ํด์ ์ด๋ฐ ์์ฒญ์ ๋ณด๋ด๋๊ฑด ์์ฒญ๋ ๋น์ฉ์ด ๋ ๋ค. ์์ ๋ค์ด๋ฒ์ ์น ํฌ๋กค๋ฌ NaverBot์ ์ฌ๋ก์์๋ ์ดํด ๋ดค์ง๋ง ํฌ๋กค๋ฌ๊ฐ Freshness๋ฅผ ์ ์งํ๊ธฐ ์ํด์ ์ง์ค์ ์ผ๋ก ๋ช๋ช ํ์ด์ง๋ฅผ ์ฌ๋ฌ์ฐจ๋ก ๋ฐฉ๋ฌธํ๋ ๊ฒ์ ์ข์ง ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ์ฌ์ดํธ์ ์ต์ํ์ ๋ถํ๋ง ์ค๋ฉด์ ์น ํฌ๋กค๋ง์ผ๋ก ๋ฐ์ดํฐ์ Freshness๋ฅผ ํ๋ณด ํ ์ ์์๊น?
์ ๋ํผ ์ค์ผ์ค๋ง์ ํ์ด์ง์ ์ฑ๊ฒฉ์ด๋ ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ์ ๊ด๊ณ ์์ด ์ผ์ ๊ฐ๊ฒฉ์ผ๋ก ํ์ด์ง๋ฅผ ์ฌ๋ฐฉ๋ฌธํ๋ ์ ๋ต์ด๋ค. ๋ค๋ฅธ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ๊ณผ์ ์ฑ๋ฅ ๋น๊ต๋ฅผ ์ํด ๋ฑ์ฅํ๋ค.
์กฐ์ ํ ๊ต์์ ํฅํ ๋ฅด ๊ฐ๋ฅด์์ ๋ชฐ๋ฆฌ๋ ๊ต์๊ฐ ๐ (2003) ACM Trans Database Syst 28:390โ426 ์์ ์ ์ ํ๋ ์ต์ ํ ๋ชจ๋ธ์ ์ข ๋ ์ฝ๊ฒ ์ธ ์ ์๋๋ก ๋ฐ์ ์ํจ ๋ฐฉ์์ด๋ค. '๋๋ค ํฌ๋กค'์ด๋ผ๊ณ ์๊ฐํ๋ ์ด ์ค์ผ์ค๋ง ๋ฐฉ์์ ๊ต์ฅํ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค. ์์ฃผ ๋ณํ ํ๋ ํ์ด์ง์ ๋ฐฉ๋ฌธ ๊ฐ๊ฒฉ์ ์ ์ ์ค์ฌ๋๊ฐ์ง๋ง ๋๋ฌด ๋ง์ด ๋ณํํ๋ฉด ์คํ๋ ค ์ ์๋ฅผ ๊น์๋ฒ๋ฆฌ๋ ํจ์๋ค.
Freshness๋ฅผ ์ ์งํ๊ธฐ์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ๋ ๊ฐ์ง ์ค์ํ ๊ฒ์ด ์๋ค. ๋๋ค ํฌ๋กค๋ ์ด ๋๊ฐ์ง๋ฅผ ๊ฐ์ฅ ์ค์ํ๊ฒ ๋ณด๊ณ ์๋ค.
๊ฐ๋จํ๊ฒ ๋งํ์๋ฉด ์น ํฌ๋กค๋ฌ๋ ์ค์ํ ํ์ด์ง๋ค์ ์ต๋ํ Freshํ๊ฒ ์ ์งํ๋ฉด ๋๋ ๊ฒ์ด๋ค.
๋ ผ๋ฌธ์ ๋ณด๋ฉด ์จํต ์ํ ๊ณต์ ํฌ์ฑ์ด๋ผ์ ์ฝ๊ฒ ์ค๋ช ํ ์๋๊ฐ ์ ๋์ ์ด ๋ถ๋ถ ๋์ค์ ์์ฑํด์ผ๊ฒ ๋ค...
์ด ๋ถ๋ถ์ด ๋น ์ง๋์ผ ๋น ์ง ์ ์์ ๊ฒ์ด๋ค. 2010๋ ์ดํ ํฌ๋กค๋ฌ ๋ถ์ผ์ ์์ด์๋ ๋จธ์ ๋ฌ๋์ ์ ์ฉ ํด๋ณธ ๋ ผ๋ฌธ๋ค์ด ๋ง์ด ๋ฑ์ฅํ๋ค. ํ์ด์ง ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ์์ธก ๋ชจ๋ธ๋ง ํ๋ ๊ฒ์ ๊ทธ์ผ๋ง๋ก ์์ฑ ๋ง์ถค์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ผ๋ฌธ์์๋ Multi-Aramed bandit์ ์ฌ์ฉํ๋๋ฐ ๋๋ถ์ ๋งค์ฐ ๋์ ์ฑ๋ฅ์ ํ๋ณด ํ ์ ์์๋ค๊ณ ํ๋ค. ํนํ ๋ฆฌ์์ค๊ฐ ์ ์๋๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค. ์ฌ๋ฐฉ๋ฌธ(revisit) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋จธ์ ๋ฌ๋์ ์ ์ฉํ๊ณ ์คํ ํ ๋ ผ๋ฌธ์ด์ง๋งLambdaCrawl ๋ฐฉ์์ด ๊ฝค ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค์ ๋๋๋ค๊ณ ํ๋ค.
๋จธ์ ๋ฌ๋๊ณผ ๊ด๋ จํ์ฌ ์ด ํฌ์คํธ์์๋ ์์ธํ ์ค๋ช ํ ์ ์๋ค. ์ด๋ฏธ ์ข์ ํ๊ตญ์ด ์๋ฃ๊ฐ ๋ง์ผ๋ Multi-Armed Bandits์ด ๋์ถฉ ๋ฌด์์ธ์ง ์ ๋๋ง ์ง๊ณ ๋์ด๊ฐ์.
๐ช๐ป Multi-Armed Bandits
"Multi-Armed Bandits์ ์นด์ง๋ ธ์์ ์ด๋ค ์ฌ๋กฏ๋จธ์ ์ ํฌ์๋ฅผ ํด์ผ ์ด์ต์ ์ต๋ํํ ์ ์์์ง์ ๋ํ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. ์ฝ๊ฒ ๋งํ๋ฉด Multi-Armed Bandits์ ์ฌ์ฉ์๊ฐ ์ด๋ ์ฌ๋กฏ๋จธ์ ์ ์์ก์ด๋ฅผ ๋น๊ฒจ์ผ ๊ฐ์ฅ ๋์ ์์ต์ ์ฌ๋ฆด ์ ์์์ง๋ฅผ ๊ฒฐ์ ํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค."
๐ Multi-Armed Bandits
๐ Multi-armed bandit - Wikipedia ๐บ๐ธ
์ค๋ณต ๋ฌธ์๋ฅผ ์ ํํฐ๋งํ๋ ๊ฒ๋ ํฌ๋กค๋ง ์ํคํ ์ณ์์ ์ค์ํ ๋ถ๋ถ์ด๋ค. ์ข์ ๊ธ์ด๋ ํ์ด์ง๋ ์ฌ๊ธฐ์ ๊ธฐ ๋ณต์ฌ ๋์ด์ ํผ๊ฐ๊ธฐ ๋ง๋ จ์ด๋ค. ์ธํฐ๋ท์๋ ๊ฐ์ ๋ด์ฉ์ ๋ฌธ์๋ค์ด ์ด๊ณณ ์ ๊ณณ์ ํผ์ ธ์๋ค. ํฌ๋กค๋ฌ๋ ์์ฐ์ค๋ฝ๊ฒ ์ด ๋ชจ๋ ํ์ด์ง๋ฅผ ์์งํ๊ฒ ๋ ํ ๊ณ ๋ง์ฝ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ๊ฒ์ ์์ง์๊ฒ ๋๊ฒจ ์ค๋ค๋ฉด ์ฌ์ฉ์ ๊ฒ์ ๊ฒฐ๊ณผ์์๋ ๋๊ฐ์ ๋ด์ฉ์ ๋ฌธ์๋ค์ด ์์ญ๊ฐ์ฉ ๋์ฌ ๊ฒ์ด๋ค.
Near-Duplicate Document๋ ์ด๋ฐ ๊ณ ๋ฏผ์ ํด๊ฒฐํ๊ณ ์ ํ๋ ๋ถ์ผ๋ค. ๋ ๋ฌธ์๊ฐ ๋น์ทํ ๋ด์ฉ์ธ์ง ์๋์ง ์ด๋ป๊ฒ ์ ์ ์์๊น? String Compare๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ๋จ ํ๋์ ๊ณต๋ฐฑ์ด๋ ๊ธ์๋ง ๋ฌ๋ผ์ ธ๋ ๋ ๋ฌธ์ฅ์ ์ ํ ๋ค๋ฅด๋ค๊ณ ํ ๊ฒ์ด๋ค.
"๋ค๋์ฅ ์ณ๋ฐํด์ ํ๊ณ ํ"
"๋ค๋์ฅ ์ณ๋ฐํด์ ํ๊ณ ํ."
์ฌ๋์ด ๋ณด๊ธฐ์๋ ๋ถ๋ช ๊ฐ์ ๋ฌธ์ฅ์ด๊ณ ๋ด์ฉ์ง๋ง ๋ฐ์ดํฐ์ ์ผ๋ก๋ ํ์คํ ๋ค๋ฅธ ๋ฌธ์ฅ์ด๋ค. ์ฒซ ๋ฒ์งธ ๋ฌธ์ฅ์ ๊ธธ์ด๋ 12์ด๊ณ ๋ ๋ฒ์งธ ๋ฌธ์ฅ์ ๊ธธ์ด๋ ๋ง์นจํ๊ฐ ๋ถ์ด์ 13์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ผํ ์๊ฐํด๋ String Compare๋ ์ค๋ณต ๋ฌธ์๋ฅผ ํํฐ๋งํ๋๋ฐ ์ข์ ๋ฐฉ๋ฒ์ ์๋๋ค.
๋ฌธ์ฅ์ด ์ผ๋ง๋ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ธก์ ํ๊ธฐ ์ํด์ ๋ฌธ์ฅ์ ๋จ์ด๋ก ์ชผ๊ฐ ๋ค์์ ์ข ๋ ์์ธํ ํ์ ํด ๋ณผ ํ์๊ฐ ์๋ค. ์์ปจ๋ ์ด๋ค ๋ฌธ์ฅ์ด ๋จ์ด A, B, C๋ก ์ด๋ฃจ์ด ์ ธ ์๋ค๊ณ ๋ณด๊ณ ์ด๊ฒ์ ์ ์ฌ๋(Similarity)๋ผ๊ณ ๋ถ๋ฅด๋๋ก ํ์.
์์นด๋ ์ ์ฌ๋๋ ํํ ์๊ฐ ํด ๋ณผ ์ ์๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ์ฐ๋ ค๋ฉด ๋ฌธ์ฅ์ ์ด๋ป๊ฒ ๋จ์ด ๋จ์๋ก ๋ถ๋ฆฌ ํ ์ง ๊ฒฐ์ ํด์ผํ๋ค. "~๋ค", "๋ฐ", "๊ฒ"๊ณผ ๊ฐ์ด ๋๋ฌด ํํ ๋ฑ์ฅํ๋ ์์๋ค์ stop-word๋ผ๊ณ ํ๋๋ฐ ์ด๋ฐ๊ฒ๋ค์ ์ฐ์ ์ ๊ฑฐ ํด ์ฃผ์ด์ผ ํ๋ค. ๋ ๋์๊ฐ๋ฉด ์ด๊ฒ์ ๊ฒฐ๊ตญ ํ๊ตญ์ด ํํ์ ๋ถ๋ฆฌ ๋ฌธ์ ์ ์ง๋ฉดํ๊ฒ ๋๋ค.
Detecting Near-Duplicates for Web Crawling ๋ ผ๋ฌธ ์ญ์ 700ํ๊ฐ ๋๋๋ก ์ธ์ฉ๋ ์ค์ํ ๋ ผ๋ฌธ์ด๋ค. ๐ Similarity Estimation Techniques from Rounding Algorithms์์๋ ๋ฌธ์ ๋ง๋ค ๊ณ ์ ํ Finger Print, ํด์๊ฐ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
๐จ๐ฝโ๐ป Gurmeet Manku๋ ํ์ฌ ๊ตฌ๊ธ์ ์ํํธ์จ์ด ์์ง๋์ด๋ค. ํฌ๋กค๋ฌ๋ ์ ๋ณด๊ฒ์ ๊ด๋ จ ํด์๋ ์ญ์ ๊ตฌ๊ธ์ ์ฐ๊ตฌ์ธ๋ ฅ์ด ์๋์ ์ด๋ค.
๋ํ์๋ค์ ์กธ์ ๋ ผ๋ฌธ, ์์ธ์ด์ ํ์ ์ฌ๋ถ๋ฅผ ๊ฐ๋ฆฌ๋๋ฐ ์ฐ์ด๋ ํ๋ค.
๐ง๐ปโ๐จ state-of-the-art
AI๋ ๋จธ์ ๋ฌ๋์ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํด์ ์๋ฒฝ์ ๊ฐ๊น์์ง ๋ชจ๋ธ์ SoA๋ผ๊ณ ํ๋ค. ์ฌ์ ์์๋ ๋๋ถ๋ถ '์ต์ฒจ๋จ'์ด๋ผ๊ณ ๋ง์ด ๋ฒ์ญํ๊ณ ๊ฑฐ์ ์ต๊ณ ์ ๊ฒฝ์ง์ ๋๋ฌํ๋ค๋ ์๋ฏธ๋ก ๋ง์ด ์ฐ์ด๋๋ฐ ๋๋ ์ด ์ฉ์ด๋ '์์ ์ ๊ฒฝ์ง'๋ผ๊ณ ๋ฒ์ญํ๋๊ฒ ๋ฑ ์๋ง์ง ์๋ ์๊ฐํ๋ค.
๋๋์ www๋ฅผ ํ์ํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ๋์ ํฌ๋กค๋ฌ๋ ํ์์ ์ด๋ค.
Parallel Cralwer ์ญ์ ์๋ฐฑํ ๋๊ฒ ์ธ์ฉ๋ ๋ฉ์๋ ๋ ผ๋ฌธ์ด๋ค.
robots.txt๋ฅผ ์ ์งํค๋ ํฌ๋กค๋ฌ๊ฐ ํ ๋ ์๋ค๊ณ ๊ฐ์ ํ์. robots.txt์์ ์ด ํฌ๋กค๋ฌ์๊ฒ ์ต๋ ๋ฐฉ๋ฌธ ์ฃผ๊ธฐ๋ฅผ 10์ด๋ก ์ค์ ํ๋ค๋ฉด ํฌ๋กค๋ฌ๋ 24์๊ฐ๋์ ์ด ์ฌ์ดํธ์์ ์ต๋ 86400๊ฐ์ ํ์ด์ง๋ง ํ์ ํ ์ ์๊ฒ ๋๋ค.
Crawl-delay: 10
์ด๋ฐ ์ํฉ ์์์ ํฌ๋กค๋ฌ๊ฐ ๋ฉ๋ฑ ๋ฉ๋ฑ ์๋ ๋์ ๋ค๋ฅธ ์ฌ์ดํธ๋ ์ด ์ ์์ด ๋ฐ๋๊ณ ์์ ํ ๋ฐ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น?
๊ฐ๋ฐ์๋ค์ ํํนํ๊ธฐ ์ข์ ๋จ์ด๊ฐ Sacalable, Scale Out์ด๋ค. ์ฝ๊ฒ ๋ณ๋ ฌ ํ์ฅ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋น์ฆ๋์ค์์๋ ํ์๋ฐ๋๋ค.
ํจ๋ฌ๋ ํฌ๋กค๋ง์ ์ด๋ป๊ฒ ์ฌ๋ฌ๋์ ๋ ธ๋๋ก ํฌ๋กค๋ง์ ํด์ผ ํ ์ง ๊ณ ๋ฏผํ ๊ฒฐ๊ณผ๋ค. ์ญ์ UCLA์ ์กฐ์ ํ ๊ต์๊ฐ ์ฌ๋ฌ๋์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ ํฌ๋กค๋ง์ ํ๊ธฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
๋ฉํฐ ์ค๋ ๋ฉ๊ณผ ๊ฐ์ ๋์ ํ๋ก๊ทธ๋๋ฐ์์๋ ์ฒซ ๋ฒ์งธ ๊ณ ๋ฏผ๋๋ ๋ฌธ์ ๋ '์ด๋ป๊ฒ ์์ ์ ๋ถ๋ฆฌํ ๊น?'์ด๋ค. ํฌ๋กค๋ฌ์ ๊ฒฝ์ฐ URL์ด ์์ ๋จ์๊ฐ ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆผ์์ ๋ณด์๋ค์ํผ SPOF๊ฐ ๋๋ค. ๋ชจ๋ ํฌ๋กค๋ฌ๊ฐ ์์ ์ํฉ์ ๊ณต์ ํ๊ณ ์์ด์ผ ํ๋๋ฐ Master Node๊ฐ ์ฌ๋งํ๋ฉด ๋๋จธ์ง ํฌ๋กค๋ฌ๋ค์ ์์ ๋ ๋ฉ์ถ ์ ๋ฐ์ ์๋ ๊ตฌ์กฐ๋ค.
๐ SPOF (Single Point of Failur)
ํ๊ตญ์ด๋ก ์ง์ญํ๋ฉด ๋ณดํต '๋จ์ผ ์คํจ ์ง์ '์ด๋ผ๊ณ ๋ค ํ๋๋ฐ ๊ธฐ์ ์ฉ์ด ๋ฒ์ญ์ด ๋ ๊ทธ๋ ๋ฏ์ด ๋ค์ ํ์ง ๋ชปํ๋ค. 'ํฐ์ง๋ฉด ๋ค ์ฃฝ๋ ๊ณณ'๋ผ๊ณ ๋ฒ์ญํด์ผ ๋ ์ฝ๋ค. ์์ปจ๋ A ์๋ฒ๊ฐ ์ฃฝ์ผ๋ฉด ์๋น์ค ์ ์ฒด๊ฐ ๋ค์ด๋๋ค๊ณ ํ ๋ A์๋ฒ๋ SPOF๊ฐ ๋๋ค. ๋ฒ์ญ์ ๋ ์ด๋ ต๋ค.
ํฌ๋กค๋ฌ๊ฐ ์ด์ ๋ ๋ฆฝ ํ ํ์์ฑ์ ๋๋๋ค. ๋ง์คํฐ ๋ ธ๋๊ฐ ์์ด๋ ํฌ๋กค๋ฌ๊ฐ 'ํผ์์๋ ์ ํด์'๋ฅผ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
Parallel Crawling ๋
ผ๋ฌธ์์๋ ์ฌ๋ฌ๊ฐ์ง ๋ชจ๋๋ฅผ ์๊ฐํ๋ค. ์ธ ๊ฐ์ง ์ ๋๋ง ์์๋ณด๋๋ก ํ์.
Firewall mode๋ ๊ฐ์ฅ ๋จ์ํ๊ณ ์ดํดํ๊ธฐ ์ฝ๋ค. Firewall mode๋ ๊ฐ ํฌ๋กค๋ฌ๊ฐ inter-link๋ฅผ ์ ํ ์ ๊ฒฝ์ฐ์ง ์๋ ๋ฐฉ์์ผ๋ก ํฌ๋กค๋งํ๋ค. C1 ํฌ๋กค๋ฌ๋ S1 ์ฌ์ดํธ๋ง ๋ฐฉ๋ฌธํ๊ณ C2 ํฌ๋กค๋ฌ๋ S2 ์ฌ์ดํธ๋ง ๋ฐฉ๋ฌธํ๋ ๋ฐฉ์์ด๋ค. ์ฆ ์๊ธฐ ๋ด๋น ์ฌ์ดํธ๋ฅผ ๋ฒ์ด๋๋ ๋งํฌ, ๋๋ฉ์ธ ๋ฐ์ผ๋ก ๋๊ฐ๋ ์ธ๋ถ ๋งํฌ๋ ๋ฌด์ํ๋ ๋ฐฉ์์ด๋ค.
๊ฐ์ฅ ๊ตฌํํ๊ธฐ ์ฝ์ง๋ง Firewall mode์์๋ ๋ชจ๋ ํ์ด์ง๋ฅผ ๊ตฌ์ ๊ตฌ์ ๋ค ๋ฐฉ๋ฌธํ์ง ๋ชปํ ์๋ ์๋ค. ์ด๋ค ํ์ด์ง๋ ๋ฐ๋์ inter-link๋ฅผ ํตํด์๋ง ์ ๊ทผ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ๋ค๋ฉด Figure 2์ ๋์์๋ d์ eํ์ด์ง๊ฐ ๊ทธ๋ ๋ค. dํ์ด์ง๋ h ํ์ด์ง๋ฅผ ํตํด์๋ง ๊ฐ ์ ์๋๋ฐ Firewall mode์์ dํ์ด์ง๋ C2 ํฌ๋กค๋ฌ ๋ด๋น ์ฌ์ดํธ๊ฐ ์๋๋ผ์ ๋ฐฉ๋ฌธํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด์ฒ๋ผ Firewall mode๋ ํฌ๋กค๋ฌ๋ผ๋ฆฌ ์์ ๊ณต์ ๋ฅผ ์ํ ๋คํธ์ํฌ ํต์ ์ ํ์ง ์์์ ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ์ด ํ ์ค์ด๋ค์ง๋ง ์ ์ค๋๋ ํ์ด์ง๊ฐ ์์ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค. ์ด ๋ชจ๋๋ก๋ Figure 2์์๋ d, h ํ์ด์ง๋ฅผ ์์ง ํ ์ ์์ ๊ฒ์ด๋ค.
Exchange mode๋ URL์ ํฌ๋กค๋ฌ๋ผ๋ฆฌ ๊ตํํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ชจ๋๋ Firewall mode์์์ ๋จ์ ์ ํด๊ฒฐ ํ ์ ์๋ค.
C2 ํฌ๋กค๋ฌ๋ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ๋ค๊ฐ d ํ์ด์ง๋ก ๊ฐ ์ ์๋ inter-link๋ฅผ ๋ฐ๊ฒฌํ๊ฒ ๋ ํ ๋ฐ ์ด ๋งํฌ๋ C1 ํฌ๋กค๋ฌ์๊ฒ ๋์ ธ ์ฃผ๋ ๊ฒ์ด๋ค.
ํฌ๋กค๋ฌ๋ผ๋ฆฌ ๊ณ์ํด์ URL์ ๊ตํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๋ง์ ๋คํธ์ํฌ ํธ๋ํฝ์ด ๋ฐ์ํ๋ค.
์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ ์ดํด ๋ดค๊ณ Parallel Cralwer ๋ ผ๋ฌธ์ URL Exchange์ ์ฑ๋ฅ์ด ๊ฐ์ฅ ๋๋ค๊ณ ํ๊ฐํ๊ณ ์๋ค. URL Exchange mode์ ๊ฐ์ฅ ํฐ ๋จ์ ์ URL ๊ตํ์ด ์์ฃผ ์ผ์ด๋๋ ๋งํผ ๋คํธ์ํฌ ๋น์ฉ๋ ๋์์ง๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด URL ๊ตํ์ ์ค์ด๊ธฐ ์ํด์๋ ์ด๋ป๊ฒ ํด์ผํ ๊น?
์ด ๋ฐฉ๋ฒ์ ๊ทธ๋ฅ URL set์ ํฌ๋กค๋ฌ๋ผ๋ฆฌ ํ ๋ฒ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ ๋ฐฐ์น ๋จ์๋ก URL์ ๊ตํํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ํต์ ๋์ด ๋น๊ต์ ์ ๋ค๋ ์ฅ์ ์ด ์๋ค.
๊ฒ์ ์์ง ์๋น์ค๋ฅผ ํ๋ ค๋๊ฒ ์๋์ด์ ๋๋ถ๋ถ์ ์ํฉ์์๋ ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค๊ธฐ ๋ณด๋ค๋ ์น ์คํฌ๋ํผ๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก ๋๋๋ค. ์๋์ ๊ฐ์ ์ํฉ์ ์๊ฐ ํด ๋ณผ ์ ์๋ค.
์์ ๊ฐ์ ๊ทธ๋ฅ ์ผํ์ฑ ์์ ๋ค์ ๊ตณ์ด ํฌ๋กค๋ฌ๋ฅผ ๋ง๋ค ํ์๋ ์๋ค. ์ด๋ฐ ์ํฉ์์๋ ์คํฌ๋ํผ๊ฐ ๋ ์ ํฉํ๋ค. ๊ทธ๋ฌ๋ ์คํฌ๋ํผ๋ค์ 'ํฌ๋กค๋ฌ'๋ผ๊ณ ๋ถ๋ฅด๊ณ ์๋ ์ค์ ์ด๊ธด ํ๋ค.
์น ์ฌ์ดํธ๋ฅผ ์ ์ฝ๊ฒ ์คํฌ๋ฉ ํ ์ ์๋๋ก ๋์์ฃผ๋ ํด์ ๋ง์ด ๋์ ์๋ค. ๐ป PhantomJS ๋ผ๋๊ฐ...
๐ ํ ์ค๊ฐ ํ๋์นด๋๋ฅผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋์ํ์ง ์์ต๋๋ค :: Outsider's Dev Story
ํ ์ค๋ ๋ฑ ํฌ ์๋ฌ๋๊ฐ ๊ฐ ์ํ, ์นด๋์ฌ๋ฅผ ์คํฌ๋ํํ์ฌ ์ ์ ๋์ ๋ก๊ทธ์ธ๊ณผ ์ก๊ธ ๋ฑ์ ๋ํํ๋ ๊ฒฝ์ฐ๊ฐ ๊ทธ๋ ๋ค. ๊ธฐ์ ๊ณผ ๊ธฐ์ ๊ฐ์ ์ ๋ณด ์คํฌ๋ํ ์ ์์ ์ง๊ธ๋ ์ด๋ค์ง๊ณ ์๋ค.
ํฌ๋กค๋ฌ ์ค์ค๋ก ์ค๋ฆฌ ๊ท์ ์ ๋ง๋ค๊ณ ์งํค๋๋ก ํ rule์ ๋ถ๊ณผํ์ง๋ง ์น ์ปจํ ์ธ ๋ฅผ ๋ง๋ค์ด ๋ด๋ ์๊ฐ๋ค, ํฌ๋ฆฌ์์ดํฐ๋ค์ ๋ํ ์กด์ค๊ณผ ์ ์๊ถ์ ๋ํ ์์์ด ๋ด๊ฒจ ์๋ค. ๋ค์ด๋ฒ์ ํฌ๋กค๋ฌ๊ฐ robots.txt๋ฅผ ๋ฌด์ํ๋ฉด์ ์ผ๋ณธ ์น ๋ง์คํฐ๋ค์๊ฒ ๊ฑฐ๋ถ๋นํ๋ ์ฌ๋ก๋ฅผ ์๊ฐ ํด ๋ณด๋ฉด ํฌ๋กค๋ฌ๋ ๊ฒฐ์ฝ ๊ฐ๋จํ๊ฒ ์น ์ฌ์ดํธ๋ฅผ ์์งํ๋ ๊ฒ์ ๊ทธ์ณ์ ์๋๋ค๋ ๊ฑธ ์ ์ ์๋ค.
๊ตฌ๊ธ์ ๊ฒฝ์ฐ ์น ํผ๋ธ๋ฆฌ์ ๋ค์ ์ปจํ ์ธ ๋ฅผ ์กด์คํด ์๋ค. ๊ทธ๋ ๊ฒ ์ธํฐ๋ท์ ์ฑ์ฅ์ ํฌ๊ฒ ํ ๋ชซํ์ง๋ง ์ด์ ๊ตฌ๊ธ์ ๊ฐ์ธ์ ๋ณด ์์ง ๋ฌธ์ ๋ก ๋ง์ ์ง๋ฌธ์ ๋ฐ๊ณ ์๋ค. ์ด๋ฐ ๊ณผ์ ์์์ ๋ฑ์ฅํ ๊ฒ์ด ๊ฐ์ธ์ ๋ณด๋ฅผ ์ ํ ์์งํ์ง ์๋ ๊ฒ์ ์๋น์ค ๐ DuckDuckGo์๋ค. ๊ฒ์ ์๋น์ค๊ฐ ๋์ฒด ์ ์ฌ์ฉ์์ ์ฟ ํค์ ํ๋์ ์์งํด์ผํ๋์ง ์ดํด ํ ์ ์๋ค๋ ์ฐฝ์ ์ ๊ฐ๋ธ๋ฆฌ์ ์์ธ๋ฒ๊ทธ๋ ์ค์ง ๊ฒ์์๋ง ์ง์คํ๊ธฐ ์ํ ์๋น์ค๋ฅผ ๋ง๋ค์๋ค.
ํฌ๋กค๋ฌ์ ๊ฐ๋ ์ ์ ์ํ๊ธฐ ์ํด์ ๋ ผ๋ฌธ๋ค ๋ช๊ฐ๋ฅผ ๊ฐ์ ธ๋ค ๋๊ณ ์ต๋ํ ๊ฒ๋ง ํฅ์ ๋ณด์๋ค. ๋ ผ๋ฌธ์์๋ ํจ์ฌ ๋ ์์ธํ ์ค๋ช ํ๊ณ ์๊ณ ์ ์ ์๋ ์์ด๋์ด๋ค๋ ๋ง๋ค.
ํ๋ฃจ๊ฐ ๋ฉ๋คํ๊ณ ์๋ก์ด ์ฉ์ด์ ๊ธฐ์ ๋ค์ด ์์์ ธ๋์จ๋ค. ์ทจ์ ์ด๋ ๊ธฐ์ ์ ๋น์ฆ๋์ค์์ ํญ๋ฐ์ ์ธ ์ธ๊ธฐ๋ฅผ ๋๋ฆฌ๋ ์๋กญ๊ณ ํ๋ คํ ํ๋ก ํธ ์๋ ๊ธฐ์ ๋ค์ด ๋ง๋ค. ๋ฐ๋ฉด ํฌ๋กค๋ฌ๋ '๋ฐ์ดํฐ ์์ง'์ ๋ถ๊ณผํ ๊ฐ๋ ์ผ๋ก ์๋ ค์ ธ ์๊ณ ์ ์ ์ด๋ ฅ์๋ค์ ๋ณด๋ฉด ๋๋ถ๋ถ '๋ ์จ ์ ๋ณด ํฌ๋กค๋ง ํด ๋ดค์ต๋๋ค' ์ ๋๋ก ์ฐ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์น ํฌ๋กค๋ฌ๋ ์ปดํจํฐ ๊ณตํ์ ๋ชจ๋ ๊ธฐ์ด ์ง์์ด ๋์๋๋ ์์ฃผ ํฅ๋ฏธ๋ก์ด ์ํํธ์จ์ด๋ค. ์ด ๊ธ์ด ํ๊ตญ์ด๋ก ๋ ์น ํฌ๋กค๋ง ๊ด๋ จ ๊ธฐ์ ๊ธ๋ก์ ๊ฐ์น๋ฅผ ๋ค ํ๊ณ ์์ผ๋ก ๋ ์ข์ ํฌ๋กค๋ฌ ๊ด๋ จ ๊ธ๋ค์ ๋ง์ค๋ฌผ์ด ๋์ผ๋ฉด ํ๋ค.
๐ https://velog.io/@mowinckel/์น-ํฌ๋กค๋ง-I
๐ Marc Najork's home page
๐ Junghoo "John" Cho ์กฐ์ ํ
๐ Heydon, A., Najork, M. Mercator: A scalable, extensible Web crawler. World Wide Web 2, 219โ229 (1999)
๐ Christopher Olston and Marc Najork (2010), "Web Crawling", Foundations and Trendsยฎ in Information Retrieval: Vol. 4: No. 3, pp 175-246.
๐ Junghoo Cho and Hector Garcia-Molina "Parallel Crawlers." In Proceedings of the World Wide Web conference (WWW), Honolulu, Hawaii, May 2002.
๐ Detecting Near-Duplicates for Web Crawling
GS Manku, A Jain, A Das Sarma
๐ Tractable near-optimal policies for crawling
Yossi Azar, Eric Horvitz, Eyal Lubetzky, Yuval Peres, and Dafna Shahaf
๐ฐ ํํ
ํฌ์
์ฒด ํ ์ค โ์คํฌ๋ํโ ๊ต๋ณด๋ผ์ดํยท์นด์นด์ค โ์์์ดโ
๐ฐ ๋ง์ด๋ฐ์ดํฐ ์ ๊ณต ๋ฒ์ ๋๊ณ ํํ
ํฌ vs ๊ธ์ต์ฌ ์ ๊ฒฝ์ ์ฌ์
๐ฐ Web scraping is legal, US appeals court reaffirms
๐ ์ ์๊ถ ๋ฐ ์น ๊ฒ์์ ๊ดํ ๊ตฌ๊ธ์ ์ ์ฑ
๐ฐ ๋ค์ด๋ฒ ์ผ๋ณธ๊ฒ์ ์์ง, ์ ๋ณด ๋ชจ์ผ๊ธฐ๋ ์ฑ๊ณตํ ๊น
๐ ๊ฒ์๋ก๋ด ํ์ธ ๋ฐฉ๋ฒ - ๋ค์ด๋ฒ ์์น์ด๋๋ฐ์ด์ค
๐ ์ผ๋ณธ์์๋ ์
๋ช
์ ๋จ์น ๋ค์ด๋ฒ
๐ NaverBot - Wikipedia ๐ฏ๐ต
๐ Googlebot์ด๋ ๋ฌด์์ธ๊ฐ์?
๐ Pinterest์ ํฌ๋กค๋ฌ ์๊ฐ
๐ What Is DuckDuckBot and What Does It Do?
๐ How-to check that a robot belongs to Yandex
๐ฉ๐ปโ๐ป gocolly/colly: Elegant Scraper and Crawler Framework for Golang
๐ A/B ํ
์คํ
๊ณผ '์ฌ๋ฌ ํ ๊ฐ๋' ๋ฌธ์
๐ ์ปค๋ฎค๋์ผ์ด์
๊ณผ AI #7 ์ฌ์ฉ์์๊ฒ ์์์ ๊ณจ๋ผ์ฃผ๋ PAIGE
๋ค์ ๊ธ ์ฐ์ฌ๋ฅผ ์ํด ์ง์ํ๊ณ ์ถ์ ๋ถ๋ค์ ์์ ๋กญ๊ฒ ๋๋ค์ด์ ํด ์ฃผ์ธ์. ๊ธฐ๋ถํ์ ๋์ ๋ชจ๋น์ผ์ ์ฌ๋ฆฌ์ฌ์์ ์ฑ์ฐ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
{
"sponsors": [
{
"๋ฐ*์ค": {
"amount": 30000,
"message": "๊ธ ํญ์ ์ ๋ณด๊ณ ์์ต๋๋ค."
}
},
{
"๋ฐ*ํฌ": {
"amount": 2200,
"message": "github.com/9j"
}
},
{
"๊ฐ*๊ตฌ": {
"amount": 10000,
"message": "๊ฐํ๊ตฌ"
}
},
{
"๋ฐฑ*ํ": {
"amount": 1000,
"message": null
}
}
]
}
์ ๋ง ์ ์ ์์ด ๋ค ์ฝ์๋ค์. ์ด๊ฑธ ์ฑ ์ผ๋ก ์งํํด์ผ ํฉ๋๋ค. ๐๐๐๐๐
์ต๋ช ๋ค์์ ๋นํํ๋ ๋ถ๋คํํ ์ด ๋ฐ์์ ๊ฐ์ก๊ณ ๋ ผ๋ฌธ์ ์ฐ์ จ๊ตฐ์ ใ ใ ใ ๊ธ์์ ๋๊ปด์ง๋ ๊ธด ๊ฐ๋ฐฉ๋์ ์ค์ค๋ผ...
์ ์ฝ์์ต๋๋ค. ์ต๊ทผ์ ๋ฐ์ดํฐ ์คํฌ๋ํ ๊ด๋ จํด์ ๊ณต๋ถ๋ฅผ ์งํ์ค์ธ๋ฐ, ๊ธ์ด ์์ด์ ํฌ๋กค๋ฌ๊ฐ ๋น์ทํ๊ฑด๊ฐ ๋ผ๋ ์๊ฐ์ผ๋ก ๊ธ์ ์ฝ์๋๋ฐ ๋จธ๋ฆฌ์ ์กฐ๊ธ ์ ๋ฆฌ๊ฐ ๋๋๊ฑฐ ๊ฐ์ต๋๋ค.
์๋ฆ๋ผ์น๊ฒ ์ด๋ ต๊ณ , ๋ง์ด ๋ฐ์ฑํ๊ฒ ๋๋ค์. ํนํ ๋ค์ด๋ฒ ๋ด์ค...
์๊ณ ๋ณด๋ ์ด์ ์๋ ์ข์ ๊ธ์ ๋ง์ด ์ฐ์๋ ๋ถ์ด์๊ตฐ์. ์ข์ ๊ธ ๊ฐ์ฌํ ์ฝ์์ต๋๋ค.
์ง์ง ์ง ์ข์ ์ปจํ
์ธ ใ
ใ
๋ฐ๋ฉด์ ๋๋ฐฐ์ฒ๋ผ ์ฌ๋ผ์ค๋ ์ปจํ
์ธ ๋ ใดใ
ใ
URL Frontier ๋Dup URL Elim ์ ๋ํด์ ์ค๋ช ์ด ๋ถ์กฑํด๋ณด์ด๋๋ฐ ํ๋ก ํฐ์ด๊ฐ ์ง๊ธ๊น์ง ์ค๋ช ์ ํ๋๋ฐ ๊ฐ์๊ธฐ ์ ๋ฐ ์ฝ๋๊ฐ ๋์ค๋ ์ด์ ์ dup๋จ๊ณ๊ฐ ์ค๋ณต๋๊ฑธ ์ญ์ ํด์ค๋ค๋ ๊ทผ๊ฑฐ๋ ๊ด๋ จ ๊ธฐ์ ๋๋ ๋งํฌ๋ ์ด๋์๋์?
์ ๋ง ์ข๋ค์ ์ด๋ฐ ์ฌ๋๊ณผ ์ผํ ์ ์๋ค๋ฉด ์ผ๋ง๋ ์ข์๊น
์ทจ์ ํฌํธํด๋ฆฌ์ค ๋จธ๋ง๋ค์ง ๊ณ ๋ฏผํ๋ค๊ฐ ์ข์์ ๋ณด์ป์ด๊ฐ๋๋ค
๊ต์ฅํ ํฅ๋ฏธ๋กญ๊ฒ ์ฝ์์ต๋๋ค. ์ถ๊ฐ๋ก ์ง๋ฌธ์ด ์๋๋ฐ ํน์ node ํ๊ฒฝ์์ ์์ ํฌ๋กค๋ง ์๊ณ ๋ฆฌ์ฆ/๋ ผ๋ฌธ์ด ์ ์ฉ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์คํ์์ค๊ฐ ์๋์ง ์์ค๊น์? ๊ตฌ๊ธ๋ง์ ํตํด ๊ฒ์์ ํด๋ณผ ์๋ ์์ง๋ง ํน์๋ ๋ ์ ํํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์๊น ํด์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค. ์ง๋ฌธ๊ณผ ๋ณ๊ฐ๋ก ์ข์ ๊ธ๊ณผ ์๋ฃ๋ค์ ๊ฐ์ฌํฉ๋๋ค.
์ข์๊ธ ์์ฝ๊ณ ๊ฐ๋๋ค!! ๊ณ 3์ธ๋ฐ ๋ง์ ๋์์ด ๋์์ด์
robots.txt ๊ฐ allow ์ฌ๋, ํด๋น ์ ๋ณด๋ฅผ ํตํ ์ด์ค์ฐฝ์ถ์ด๋ผ๋์ง, ์๋ฒ์ ์ฅ์ ๋ฅผ ๋ผ์น ์ํฅ์ด ์๋ค๋ฉด ์์ก๋ฑ์ ์ฌ์ง๊ฐ ์์๊น์?
ํ ... ๋๋์ ๊ฐ์๊ธฐ ๊ฟ์ด ์๊ฒผ์ด์. ์ฑ ์์ง์ธ์... ์ด๋ฐ๊ฟ์ ๊ฐ๊ฒ ํ๋ค๋...ใ ใ
์๋ฆ ๋๋ค์ ์ ๋ ๋์ง๋ชฌ ํ๋ก ํฐ์ด๋ถํฐ ์๊ฐ๋ฌ๋๋ฐ
๊ธ ์์จ๊ฐ ์์ฒญ๋์๋ค์ใ ใ ๐ ํฌ๋กค๋ฌ, ๐ํ๋ก ํฐ์ด, ๐ท์คํ์ด๋? ๋ด์ฉ ์์ cralwer ์คํ๋ฅผ ๋ฐ๊ฒฌํด์ ๋๊ธ ๋จผ์ ๋จ๊ธฐ๊ณ ๋ค์ ์ ๋ ํ๋ฌ ๊ฐ๋๋ค
๋ฐ์ดํฐ ์์ง์ ์์ ์ง์ฝ์ ์ด๊ณ ๊ณ ์์ค์ ํจ์จ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ํจ์จ ๋ฌ์ฑํ๊ธฐ ์ํ ๊ณ ๋์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ด ํ์ํ ์์ญ์ธ๋ฐ... ๋น ๋ฐ์ดํฐ ๋น ๋ฐ์ดํฐ ๊ทธ๋ ๊ฒ ๋ง์ด ์ด์ผ๊ธฐ ํ๋ฉด์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ํฌ๋กค๋ง๊ณผ ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ์ ๋ค์ ์ด์ฉ์ง ์์ฆ ํธ๋ ๋๋ค์ ๋ฐ๋ ค ๋ฑํ์ ๋๊ณ ์๋ ๋๋์ด์์.. ์ต๊ทผ์ ํฌ๋กค๋ง ๊ด๋ จ ๊ณต๋ถํ๋ฉด์ ์์ฌํ์๋ฅผ ์ทจ๋ํ๋๋ฐ ๊ณต๋ถํ๋ฉด์๋ ํญ์ ์์ฝ๊ณ ์ํ๊น๋ค๋ ์๊ฐ์ ๋ง์ด ํ์๋ค์ ใ ใ ...
ํฌ๋กค๋ง ๊ธฐ์ด ๊ฐ์ ํ๋ ์๊ฐํ๊ณ
ํฌ๋กค๋ง์ด ๋๋ฌด์ฌ๋ฏธ์์ด์
์ด๊ธ์ ์ฝ์ต๋๋ค.
์ถฉ๊ฒฉ์ด๋ค์
์ธ์์ ๋ค ๊ฐ์ง์ค ์ฐฉ๊ฐํ๋ค์.
์ธ์์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ชจ์์
์ธ๊ณ์ ๋ณตํ ๋ ค๊ณ ํ๋๋ฐ, ์ค๋ฆฌ์ ์ธ ๋ฌธ์ ๋ ์๋ค์.
์ฐ์งธํผ ํฌ๋กค๋ง์ ๊น์ด ๊ณต๋ถํด๋ณด๊ณ ์ถ์ ๋ถ์ผ ์ ๋๋ค. ์กฐ์๊ธ ๊ฐ์ฌํฉ๋๋ค.
1,000์ ํ ์ค๋ก ํ ์ค ํฉ๋๋ค. ์ ์ค๋ช ์ผ๋ก ๋ฃ์์ด์.
ํญ์ ๊ฑด๊ฐํ์๊ณ ์ข์๊ธ ๋ ๋ถํํฉ๋๋ค.
ํ ์ค์ ์น์๋ํ ๊ด๋ จํ ํฌ๋กค๋ง๊ธฐ์ ์ ์ด๋ป๊ฒ ์๊ฐํ์๋์?
Multi-Armed Bandits ์ธ์ฉ ๋ถ๋ถ์์ ๋งํฌํ ํฌ์คํ ์ด ์ญ์ ๋์์ต๋๋ค ๐ Multi-Armed Bandits
์๋ ์ ์ปค๋ฎค๋ํฐ ์ฌ์ดํธ๋ฅผ ๋๋ ์ด ์์ด ๋ฉํฐ์ฐ๋ ๋ฉ์ผ๋ก ํฌ๋กค๋งํด์ ์ฌ์ดํธ ์๋ต์ด ๋๋ ค์ง ๊ฒฝํ์ด ๋ ์ค๋ฅด๋ค์๐