À¥ ¾îµð¼µç ³»°¡ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ½ï½ï½ïÀ¥¿¡ Á¸ÀçÇÑ´Ù¸é ±×°ÍÀÌ ¾î¶² ÇüÅÂÀÌµç µ¥ÀÌÅÍ·Î ÃßÃâÇÒ ¼ö ÀÖ´Ù. ÇÊ¿äÇÑ ¹«±â´Â ÀÌ Ã¥°ú ÆÄÀ̽ã»Ó. BeautifulSoup, ¼¿·¹´Ï¿ò, Å×¼·¢Æ® µî °·ÂÇÑ ÆÄÀ̽㠶óÀ̺귯¸® »ç¿ë¹ý°ú ÇÔ²² API, ÀÎÁõ, À̹ÌÁö ¹× ÅؽºÆ® ÀνÄ, ·Î±×ÀΠó¸® µî À¥ Å©·Ñ¸µÀÇ ±âÃʺÎÅÍ °í±Þ ±â¹ý±îÁö Á¾ÇÕÀûÀ¸·Î ´Ù·ç´Â À¯ÀÏÇÑ Ã¥. ½ÇÁ¦ ¾÷¹«¿Í »ýÈ°¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ¿¹Á¦°¡ °¡µæÇÏ´Ù. 2ÆÇÀº ¿¹Á¦¸¦ Ãß°¡ ¹× ¾÷µ¥ÀÌÆ®Çß°í ¸ð´ø À¥¿¡¼ °ÅÀÇ ¸ðµç Á¾·ùÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿À´Â ¹æ¹ýÀ» Æ÷°ýÀûÀ¸·Î ´Ù·é´Ù.
À¥ Å©·Ñ¸µ, º¸¾È, µ¥ÀÌÅÍ °úÇп¡ °ü½ÉÀÌ ¸¹Àº °³¹ßÀÚ. ÇöÀç ±Û·Î¹ú Æݵå»ç ÇìÁö¼ºê(HedgeServ)¿¡¼ ½Ã´Ï¾î °³¹ßÀÚ·Î ±Ù¹«ÇÏ°í ÀÖ½À´Ï´Ù. ÇÁ·©Å¬¸° W. ¿Ã¸° °ø°ú´ëÇб³¸¦ Á¹¾÷Çß°í ÇϹöµå ´ëÇб³¿¡¼ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µ ¼®»ç °úÁ¤À» ¹â¾Ò½À´Ï´Ù. ¾î¹ÙÀÎ(Abine)¿¡¼ À¥ Å©·Ñ·¯¿Í º¿À» ¸¸µé¾ú°í, ¸µÅ©µå¶óÀ̺ê(LinkeDrive)¿¡¼´Â API ¹× µ¥ÀÌÅÍ ºÐ¼® µµ±¸¸¦ ¸¸µé¾ú½À´Ï´Ù. ±ÝÀ¶¾÷ ¹× À¯Åë¾÷ ºÐ¾ß¿¡¼ À¥ Å©·Ñ¸µ ÇÁ·ÎÁ§Æ® ÄÁ¼³ÆÃÀ» ÇÏ°í ÀÖ°í, ±³À°°ú °¿¬ È°µ¿µµ È°¹ßÇÏ°Ô ÆîÄ¡°í ÀÖ½À´Ï´Ù. º»¼ ¿Ü Àú¼·Î ¡ºInstant Web Scraping with Java¡»(Packt, 2013)°¡ ÀÖ½À´Ï´Ù.
Part I ½ºÅ©·¹ÀÌÆÛ Á¦ÀÛCHAPTER 1 ù ¹ø° À¥ ½ºÅ©·¹ÀÌÆÛ1.1 ¿¬°á1.2 BeautifulSoup ¼Ò°³__1.2.1 BeautifulSoup ¼³Ä¡__1.2.2 BeautifulSoup ½ÇÇà__1.2.3 ½Å·ÚÇÒ ¼ö ÀÖ´Â ¿¬°á°ú ¿¹¿Ü ó¸®CHAPTER 2 °í±Þ HTML ºÐ¼®2.1 ´ß Àâ´Â µ¥ ¼Ò Àâ´Â Ä®À» ¾µ ÇÊ¿ä´Â ¾ø½À´Ï´Ù2.2 ´Ù½Ã BeautifulSoup__2.2.1 find()¿Í findAll()__2.2.2 ´Ù¸¥ BeautifulSoup °´Ã¼__2.2.3 Æ®¸® À̵¿2.3 Á¤±Ô Ç¥Çö½Ä2.4 Á¤±Ô Ç¥Çö½Ä°ú BeautifulSoup2.5 ¼Ó¼º¿¡ Á¢±ÙÇϱâ2.6 ¶÷´Ù Ç¥Çö½ÄCHAPTER 3 Å©·Ñ¸µ ½ÃÀÛÇϱâ3.1 ´ÜÀÏ µµ¸ÞÀÎ ³»ÀÇ À̵¿3.2 Àüü »çÀÌÆ® Å©·Ñ¸µ__3.2.1 Àüü »çÀÌÆ®¿¡¼ µ¥ÀÌÅÍ ¼öÁý3.3 ÀÎÅÍ³Ý Å©·Ñ¸µCHAPTER 4 À¥ Å©·Ñ¸µ ¸ðµ¨4.1 °´Ã¼ °èȹ ¹× Á¤ÀÇ4.2 ´Ù¾çÇÑ À¥»çÀÌÆ® ·¹À̾ƿô ´Ù·ç±â4.3 Å©·Ñ·¯ ±¸¼º__4.3.1 °Ë»öÀ» ÅëÇÑ »çÀÌÆ® Å©·Ñ¸µ__4.3.2 ¸µÅ©¸¦ ÅëÇÑ »çÀÌÆ® Å©·Ñ¸µ__4.3.3 ¿©·¯ ÆäÀÌÁö À¯Çü Å©·Ñ¸µ4.4 À¥ Å©·Ñ·¯ ¸ðµ¨¿¡ ´ëÇÑ »ý°¢CHAPTER 5 ½ºÅ©·¹ÀÌÇÇ 5.1 ½ºÅ©·¹ÀÌÇÇ ¼³Ä¡__5.1.1 »õ ½ºÆÄÀÌ´õ ÃʱâÈ5.2 °£´ÜÇÑ ½ºÅ©·¹ÀÌÆÛ ÀÛ¼ºÇϱâ5.3 ±ÔÄ¢¿¡ ÀÇÇÑ ½ºÆÄÀÌ´õ¸µ5.4 Ç׸ñ ¸¸µé±â5.5 Ç׸ñ Ãâ·ÂÇϱâ5.6 ÆÄÀÌÇÁ¶óÀÎ5.7 ½ºÅ©·¹ÀÌÇÇ ·Î±ë5.8 ´õ ÀÐÀ» °Å¸®CHAPTER 6 µ¥ÀÌÅÍ ÀúÀå6.1 ¹Ìµð¾î ÆÄÀÏ6.2 µ¥ÀÌÅ͸¦ CSV·Î ÀúÀå6.3 MySQL__6.3.1 MySQL ¼³Ä¡__6.3.2 ±âº» ¸í·É¾î__6.3.3 ÆÄÀ̽ã°ú ÅëÇÕ__6.3.4 µ¥ÀÌÅͺ£À̽º Å×Å©´Ð°ú ¸ð¹ü »ç·Ê__6.3.5 ¿©¼¸ ´Ù¸®¿Í MySQL6.4 À̸ÞÀÏPart II °í±Þ ½ºÅ©·¹ÀÌÇÎCHAPTER 7 ¹®¼ Àбâ7.1 ¹®¼ ÀÎÄÚµù7.2 ÅؽºÆ®__7.2.1 ÅؽºÆ® ÀÎÄÚµù°ú ÀÎÅͳÝ7.3 CSV__7.3.1 CSV ÆÄÀÏ Àбâ7.4 PDF7.5 ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¿öµå¿Í .docxCHAPTER 8 ÁöÀúºÐÇÑ µ¥ÀÌÅÍ Á¤¸®Çϱâ8.1 Äڵ忡¼ Á¤¸® 8.2 »çÈÄ Á¤¸®__8.2.1 ¿ÀǸ®ÆÄÀÎCHAPTER 9 ÀÚ¿¬¾î ÀÐ°í ¾²±â9.1 µ¥ÀÌÅÍ ¿ä¾à9.2 ¸¶¸£ÄÚÇÁ ¸ðµ¨__9.2.1 À§Å°¹é°úÀÇ ¿©¼¸ ´Ù¸®: °á·Ð9.3 ÀÚ¿¬¾î ÅøŶ__9.3.1 ¼³Ä¡__9.3.2 NLTK¸¦ »ç¿ëÇÑ Åë°èÀû ºÐ¼®__9.3.3 NLTK¸¦ »ç¿ëÇÑ »çÀüÀû ºÐ¼®9.4 Ãß°¡ ÀÚ·áCHAPTER 10 Æû°ú ·Î±×ÀÎ ¶Õ±â10.1 ÆÄÀ̽ã requests ¶óÀ̺귯¸®10.2 ±âº»ÀûÀÎ Æû Àü¼Û10.3 ¶óµð¿À ¹öÆ°, üũ¹Ú½º, ±âŸ Çʵå10.4 ÆÄÀÏ°ú À̹ÌÁö Àü¼Û10.5 ·Î±×Àΰú ÄíÅ° ó¸®__10.5.1 HTTP ±âº» Á¢±Ù ÀÎÁõ10.6 ±âŸ Æû ¹®Á¦CHAPTER 11 ÀÚ¹Ù½ºÅ©¸³Æ® ½ºÅ©·¹ÀÌÇÎ__11.1.1 ³Î¸® ¾²ÀÌ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ¶óÀ̺귯¸®11.2 Ajax¿Í DHTML__11.2.1 ¼¿·¹´Ï¿òÀ¸·Î ÆÄÀ̽㿡¼ ÀÚ¹Ù½ºÅ©¸³Æ® ½ÇÇà__11.2.2 ±× ¹ÛÀÇ ¼¿·¹´Ï¿ò À¥µå¶óÀ̹ö11.3 ¸®´ÙÀÌ·ºÆ® ó¸®11.4 ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ´ëÇÑ ¸¶Áö¸· ³ëÆ®CHAPTER 12 API¸¦ ÅëÇÑ Å©·Ñ¸µ12.1 API¿¡ ´ëÇÑ °£´ÜÇÑ ¼Ò°³__12.1.1 HTTP ¸Þ¼µå¿Í API__12.1.2 API ÀÀ´ä¿¡ ´ëÇØ12.2 JSON ÆĽÌ12.3 ¹®¼ÈµÇÁö ¾ÊÀº API__12.3.1 ¹®¼ÈµÇÁö ¾ÊÀº API ã±â__12.3.2 ¹®¼ÈµÇÁö ¾ÊÀº API ¹®¼ÈÇϱâ__12.3.3 API ÀÚµ¿À¸·Î ã°í ¹®¼ÈÇϱâ12.4 API¿Í ´Ù¸¥ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °áÇÕ12.5 ¸¶Ä¡¸çCHAPTER 13 À̹ÌÁö ó¸®¿Í ÅؽºÆ® ÀνÄ13.1 ¶óÀ̺귯¸® °³°ü__13.1.1 ÇÊ·Î__13.1.2 Å×¼·¢Æ®__13.1.3 ÆÄÀÌÅ×¼·¢Æ®__13.1.4 ³ÑÆÄÀÌ13.2 Çü½ÄÀÌ ÀÏÁ¤ÇÑ ÅؽºÆ® ó¸®__13.2.1 À̹ÌÁö ÀÚµ¿ Á¶Á¤__13.2.2 À¥»çÀÌÆ® À̹ÌÁö¿¡¼ ÅؽºÆ® ½ºÅ©·¹ÀÌÇÎÇϱâ13.3 CAPTCHA Àбâ¿Í Å×¼·¢Æ® ÈÆ·Ã__13.3.1 Å×¼·¢Æ® ÈÆ·Ã13.4 CAPTCHA °¡Á®¿À±â¿Í ´ä º¸³»±â CHAPTER 14 ½ºÅ©·¹ÀÌÇÎ ÇÔÁ¤ ÇÇÇϱâ14.1 ½ºÅ©·¹ÀÌÇÎÀÇ À±¸®¿¡ °üÇØ14.2 »ç¶÷ó·³ º¸À̱â__14.2.1 Çì´õ¸¦ ¼öÁ¤ÇϽʽÿÀ__14.2.2 ÄíÅ° ó¸®__14.2.3 ŸÀ̹ÖÀÌ °¡Àå Áß¿äÇÕ´Ï´Ù14.3 ³Î¸® ¾²ÀÌ´Â Æû º¸¾È ±â´É__14.3.1 ¼û±ä ÇÊµå °ª__14.3.2 Çã´ÏÆÌ ÇÇÇϱâ14.4 »ç¶÷ó·³ º¸À̱â À§ÇÑ Ã¼Å©¸®½ºÆ®CHAPTER 15 ½ºÅ©·¹ÀÌÆÛ·Î À¥»çÀÌÆ® Å×½ºÆ®Çϱâ15.1 Å×½ºÆ® ÀÔ¹® __15.1.1 ´ÜÀ§ Å×½ºÆ®¶õ?15.2 ÆÄÀ̽ã unittest__15.2.1 À§Å°¹é°ú Å×½ºÆ®15.3 ¼¿·¹´Ï¿òÀ» »ç¿ëÇÑ Å×½ºÆ®__15.3.1 »çÀÌÆ® Á¶ÀÛ15.4 unittest vs ¼¿·¹´Ï¿òCHAPTER 16 º´·Ä À¥ Å©·Ñ¸µ16.1 ÇÁ·Î¼¼½º vs. ½º·¹µå16.2 ¸ÖƼ½º·¹µå Å©·Ñ¸µ__16.2.1 °æÀï »óÅÂ¿Í Å¥__16.2.2 threading ¸ðµâ16.3 ¸ÖƼÇÁ·Î¼¼½º Å©·Ñ¸µ__16.3.1 ¸ÖƼÇÁ·Î¼¼½º Å©·Ñ¸µ__16.3.2 ÇÁ·Î¼¼½º °£ Åë½Å16.4 ¸ÖƼÇÁ·Î¼¼½º Å©·Ñ¸µÀÇ ´Ù¸¥ Á¢±Ù¹ýCHAPTER 17 ¿ø°Ý ½ºÅ©·¹ÀÌÇÎ17.1 ¿ø°Ý ¼¹ö¸¦ ¾²´Â ÀÌÀ¯__17.1.1 IP ÁÖ¼Ò Â÷´Ü ¹æÁö__17.1.2 À̵¿¼º°ú È®À强17.2 Åä¾î__17.2.1 ÆÄÀ̻轺17.3 ¿ø°Ý È£½ºÆà __17.3.1 À¥»çÀÌÆ® È£½ºÆà °èÁ¤¿¡¼ ½ÇÇà__17.3.2 Ŭ¶ó¿ìµå¿¡¼ ½ÇÇà17.4 Ãß°¡ ÀÚ·áCHAPTER 18 À¥ ½ºÅ©·¹ÀÌÇÎÀÇ ÇÕ¹ý¼º°ú À±¸®18.1 »óÇ¥? ÀúÀÛ±Ç? ƯÇã?__18.1.1 ÀúÀ۱ǹý18.2 µ¿»ê ħÇØ18.3 ÄÄÇ»ÅÍ »ç±â¿Í ¾Ç¿ë¿¡ °üÇÑ ¹ý·ü18.4 robots.txt¿Í ÀÌ¿ë ¾à°ü18.5 ¼¼ °¡Áö À¥ ½ºÅ©·¹ÀÌÆÛ »ç·Ê__18.5.1 À̺£ÀÌ vs. ºñ´õ½º ¿¡Áö: µ¿»ê ħÇØ__18.5.2 ¹Ì±¹ vs. ¿À¾ðÇÏÀ̸Ó: ÄÄÇ»ÅÍ »ç±â¿Í ¾Ç¿ë¿¡ °üÇÑ ¹ý·ü__18.5.3 Çʵå vs. ±¸±Û: ÀúÀ۱ǰú robots.txt18.6 ¹Ì·¡¸¦ ÇâÇØ