|
°ÁÂ Àü ÇÊÀÚÀÇ Àâ´ã>
ASP.NETÀ» Á¢ÇÑ Áö´Â ¾ó¸¶ µÇÁö ¾ÊÁö¸¸ Àç¹ÌÀÖ´Â °É ¾Ë¾Æ ³Â´Ù´Â ±â»Ý¿¡ ÆÁÀ» ½á ºÃ½À´Ï´Ù.
¼Ò½ºµµ ¸î ÁÙ ¾ÈµÇ°í ½É¿ÀÇÑ ³À̵µÀÇ ¹º°¡°¡ µé¾î ÀÖ´Â °ÍÀº ¾Æ´ÏÁö¸¸,
Ȱ¿ëÇØ º¼ ¼ö ÀÖ´Â ¿©Áö¿Í ´å³ÝÀÇ È°¿ëµµ Ãø¸é¿¡¼ ÀÛÀº µµ¿òÀ̳ª Àç¹Ì¸¦ µå·ÈÀ¸¸é ÇÏ´Â ¹Ù·¥ÀÔ´Ï´Ù.
óÀ½ ÀÌ ¹æ¹ýÀ» ã°í °í·ÁÇÏ°Ô µÈ ÀÌÀ¯´Â ÀúÈñ ȸ»çÀÇ º»»çÀÎ ¿µ±¹ E-Commerce ÆÀ ¶§¹®ÀÔ´Ï´Ù. ƯÁ¤ Å×À̺íÀÇ ÇÑ ÇʵåÀÇ µ¥ÀÌÅ͸¸ÀÌ ÇÊ¿äÇØ¼ ÃÖ¼ÒÇÑÀÇ ±ÇÇÑÀÌ ºÎ¿©µÈ µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚ °èÁ¤À» ¿äûÇߴµ¥.. ¸î ¹øÂ° ¸ÞÀÏÀ» ²Ü²©! ÇØ¹ö¸®´Â °Ì´Ï´Ù. ¾àÀÌ ¿À¸¥ ³ª¸ÓÁö ÀúÈñ ȸ»ç´Â °³¹ßÀü¹® ȸ»ç°¡ ¾Æ´ÑÁö¶ó Á¦°¡ ÇÏ´Â ÀÏÀÇ °á°ú¶ó¸é ¸ô¶óµµ °úÁ¤Àº Àú À̿ܿ¡ ´©±¸µµ ¸ð¸¥´Ù´Â ÀåÁ¡(?)À» ÀÌ¿ëÇØ¼ 6½Ã°£À̳ª ÅõÀÚÇØ¼ °á±¹ ¾Æ·¡ÀÇ ¹æ¹ýÀ» ¾Ë¾Æ³»°Ô µÇ¾úÁÒ. Á¦°¡ ¿øÇÏ´Â ÇʵåÀÇ µ¥ÀÌÅÍ´Â º»»çÀÇ Æ¯Á¤ ÆäÀÌÁö¿¡ ÀúÈñµµ º¸À¯Çϰí ÀÖ´Â ÁÖ(Primary) ۸¦ ¿¬°á ¹®ÀÚ¿·Î ³Ñ±â¸é À¥ ÆäÀÌÁö·Î »Ñ·ÁÁý´Ï´Ù. °á±¹ Á¦°¡ ÇÑ ÀÏÀº ¾Æ·¡ÀÇ ±×¸²°ú °°½À´Ï´Ù.
±×¸²1. º»»ç°¡ Á¦°øÇÏ´Â ÆäÀÌÁö.
±×¸²2. ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ÃßÃâÇØ ³½ °á°ú.
aspx ÆäÀÌÁöÀÇ ¼Ò½º¸¦ ±âº» ¼Ò½ºÀÔ´Ï´Ù. Áß¿äÇÑ °ÍÀº ÄÚµå ºñÇÏÀεå~ °°ÀÌ º¸½Ç±î¿ä?
:: cs ÆÄÀÏ ¼Ò½º ½ÃÀÛ ::
using System;
using System.IO;
using System.Net;
public class lecture1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Literal List;
private void Page_Load(object sender, System.EventArgs e)
{
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
// Ŭ¶óÀÌ¾ðÆ® °´Ã¼°¡ ¿äûÇì´õ·Î º¸³¾ ºÎºÐÀ» ¼³Á¤ÇØ ÁÝ´Ï´Ù. msdnÀÇ ¿¹Á¦¸¦ ±×´ë·Î º¹»çÇßÁÒ
// ¿ëµµ¿¡ µû¶ó ÇÊ¿äÇÏ´Ù¸é ºê¶ó¿ìÀú À̸§, ¹öÀü, ȯ°æ µîÀ» ÀÚÀ¯·ÎÀÌ Á¤ÇØÁÖ¼¼¿ä.
Stream data = client.OpenRead("http://sg.farnell.com/jsp/endecaSearch/partDetail.jsp?SKU=100006&N=0");
// ÀÎÀÚ·Î ³Ñ±ä URI¿¡ Ŭ¶óÀÌ¾ðÆ® °´Ã¼°¡ ¿äûÀ» ³¯·Á¼ ÀÀ´äÀ» ¹Þ½À´Ï´Ù.
// Á¦°¡ ¿øÇß´ø ¹Ù·Î ±×°ÅÁÒ!
// SKU=100006ÀÇ ºÎºÐÀÇ SKU°¡ ºÎǰÀÇ ½Äº°Äڵ带 ÀǹÌÇÏ´Â ºÎºÐÀ̾î¼,
// Àú´Â ÀÌ ºÎºÐ¸¸ ÀÚÀ¯ÀÚÀç·Î ¹Ù²ã¼ Ȱ¿ëÇÕ´Ï´Ù.
// ¿©·¯ºÐÀº ¿øÇÏ´Â ÆäÀÌÁöÀÇ ¿¬°á¹®ÀÚ¿À̵ç, Æ÷½ºÆ® °ªÀÌµç ¾Ë±â¸¸ ÇϽŴٸé
// (º¸Åë ¼Ò½ººÐ¼® µé¾î°¡¸é 80%ÀÌ»ó ³ª¿É´Ï´Ù.) ¾ó¸¶µçÁö Ȱ¿ëÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
// Ȱ¿ëÇØ º¸½Ç ¼ö ÀÖ½À´Ï´Ù. ÇÑ ¹ø ÇØº¸½Ã°í ¿©·¯ºÐÀÌ ¿øÇÏ´Â ÆäÀÌÁö¸¦ ´ë»óÀ¸·Î ÀÚÀ¯·ÎÀÌ
// Å×½ºÆ®°¡ °¡´ÉÇϰڽÀ´Ï´Ù. (Àú´Â ÇöÀç ³¯Â¥¿¡ ¸Â´Â TVÆí¼ºÇ¥, Àϱ⿹º¸ µîÀ» ¿øÅ¬¸¯À¸·Î
// º¼ ¼ö ÀÖ°Ô ÁغñÇØ¼ ¼Õ½±°Ô Ȱ¿ëÇϰï ÇÕ´Ï´Ù. ^^;)
StreamReader reader = new StreamReader(data);
// ½ºÆ®¸²À¸·Î ÀоîÁÝ´Ï´Ù.
string s = reader.ReadToEnd();
// ȲöÇÏ°Ô ³¡±îÁö.. ÀнÀ´Ï´Ù;
int startPoint = s.IndexOf("Description");
// Á¦°¡ ¿øÇÏ´Â µ¥ÀÌÅÍ´Â Description Ç׸ñ¿¡ À̾îÁö´Â ½ºÆ®¸µ µ¥ÀÌÅÍÀ̱⠶§¹®¿¡
// ÀÌ ³à¼®ÀÇ À§Ä¡¸¦ ã½À´Ï´Ù. ÀÀ¿ë ½Ã ¿øÇϴ Ű¿öµå·Î~
startPoint = s.IndexOf("<b>", startPoint) + 3;
// ÅÂ±× ¾ÈÀÇ ¼ø¼ö ¹®ÀÚ¿¸¸ ¾ò±â À§ÇØ ¿©´Â º¼µå ű×ÀÇ ³¡Á¡À» ¶Ç ã¾Ò½À´Ï´Ù.
int endPoint = s.IndexOf("</b>", startPoint);
// ÅÂ±× ¾ÈÀÇ ¹®ÀÚ¿¸¸ ¾òÀ¸·Á ÇϹǷΠ´Ý´Â º¼µå ű×ÀÇ ½ÃÀÛÁ¡À» ã¾Ò½À´Ï´Ù.
if (s.Length > 1 && (endPoint - startPoint) > 0)
s = s.Substring(startPoint, endPoint - startPoint);
List.Text += s;
data.Close();
reader.Close();
}
}
|
À§¿Í °°ÀÌ ÆäÀÌÁö ±¸¼ºÀ» ÇÑ °ÍÀº Á¦°¡ ÀÌ ¹æ¹ý¹Û¿¡ ¸ð¸£±â ¶§¹®ÀÔ´Ï´Ù. °æÇèÀÌ ¸¹À¸½Å ºÐµéÀº °¡º±°Ô ÈÈ¾î º¸½Ã¸é¼ ³ª¸§ÀÇ ±¸¼º¹ýÀ» ¶°¿Ã¸®½Ã¸®¶ó ¹Ï½À´Ï´Ù.
Àü óÀ½¿¡ ASP¿¡¼ Á¦°øµÇ´Â Server.Execute·Î ÇØº¸·Á´Ù°¡ 3ÃÊ ¸¸¿¡ ÁÂÀýÇßÁÒ. "¾ÆÂ÷.. ÀÌ ³à¼®Àº ÆäÀÌÁö°¡ ½ÇÇàµÇ´Â ¼¹öÀÇ ÆÄÀϸ¸ °¡´ÉÇßÁö.." ÁÖ¸¤.. ±×·¯³ª ¿Á¤Àº Àú¸¦ µµ¿Ô½À´Ï´Ù.
msdn¿¡¼ .NETÀÇ WebRequest, HttpWebRequest µîÀÇ Å¬·¡½º·Î ½ÃµµÇغ¸´Ù°¡(»ç½Ç º¸Åë ÆäÀÌÁö¿¡ À§¿Í °°Àº ±â´ÉÀ» ¼öÇàÇÏ·Á¸é ¾ÕÀÇ µÎ Ŭ·¡½ºµµ °¡´ÉÇÕ´Ï´Ù. ±×·±µ¥ ÀúÈñ º»»çÆäÀÌÁö´Â µÎ Ŭ·¡½º·Î ½ÃµµÇßÀ» ¶§´Â ÀÀ´äÀ» ¾ÈÇÏ´õ±º¿ä. ³ªÁß¿¡¼¾ß Çì´õ¹®Á¦Àϱî ÃßÃøÇßÁö¸¸¿ä.) °á±¹ ±×·¡µµ WebClient¸¦ ¹ß°ßÇÏ°í ¿øÇÏ´Â ¹Ù¸¦ ÀÌ·ð½À´Ï´Ù.
Ȱ¿ëÇϱ⿡ µû¶ó¼ ¿µ¾î»çÀü DB¸¦ ±¸Çؼ ´Ü¾î¸¦ ¼ø¼ö, ȤÀº ÀûÀýÈ÷ Á¶ÇÕÇØ °¡¸ç ÀÚµ¿À¸·Î ÆäÀÌÁö ¿äûÀ» Çϰí ű×ÀÇ href ¼Ó¼ºÀ» ã¾Æ³»¼ URI¸¦ ¼öÁýÇÏ´Â ³à¼®µµ ¼Õ½±°Ô ¸¸µé ¼ö ÀÖÀ» °Í °°½À´Ï´Ù. ±¸±Û°Ë»ö·Îº¿ °°Àº °Å ¸»ÀÌÁÒ. ¹°·Ð °Ë»ö°á°úÀÇ Ä÷¸®Æ¼´Â óÀ½¿£ ¾û¸ÁÀ̰ÚÁö¸¸¿ä.. ÇÏÇÏ;
¹°·Ð À§¿Í °°Àº ±â´ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀº ¼ö½Ê °¡Áö°¡ Á¸ÀçÇϰÚÁö¸¸, Á¦ ¹æ¹ýµµ ÀÖ´Ù´Â °ÍÀ» ÆÁÀ¸·Î Á¦°øÇصå·È½À´Ï´Ù. ºÎµð µµ¿òÀÌ µÇ¾î µå·È±æ ¹Ù¶ø´Ï´Ù. ³¡±îÁö ÀоîÁּż ³Ê¹« °¨»çÇÕ´Ï´Ù^^;
°Á ¸ñ·ÏÀ¸·Î..
|