¡¡¡¡
2 ÏêϸÉè¼Æ¡£
¡¡¡¡
¡¡¡¡2.1 Íøҳץȡ¡£
¡¡¡¡
¡¡¡¡ÍøÂçÅÀ³æÊÇÒ»¸ö×Ô¶¯ÌáÈ¡ÍøÒ³µÄ³ÌÐò£¬ËüΪËÑË÷ÒýÇæ´ÓÍòάÍøÉÏÏÂÔØÍøÒ³£¬ÊÇËÑË÷ÒýÇæµÄÖØÒª×é³É¡£´«Í³ÅÀ³æ´ÓÒ»¸ö»òÈô¸É³õʼÍøÒ³µÄURL¿ªÊ¼£¬»ñµÃ³õʼÍøÒ³ÉϵÄURL,ÔÚץȡÍøÒ³µÄ¹ý³ÌÖУ¬²»¶Ï´Óµ±Ç°Ò³ÃæÉϳéȡеÄURL·ÅÈë¶ÓÁУ¬Ö±µ½Âú×ãϵͳµÄÒ»¶¨Í£Ö¹Ìõ¼þ¡£¾Û½¹ÅÀ³æµÄ¹¤×÷Á÷³Ì½ÏΪ¸´ÔÓ£¬ÐèÒª¸ù¾ÝÒ»¶¨µÄÍøÒ³·ÖÎöËã·¨¹ýÂËÓëÖ÷ÌâÎ޹صÄÁ´½Ó£¬±£ÁôÓÐÓõÄÁ´½Ó²¢½«Æä·ÅÈëµÈ´ýץȡµÄURL¶ÓÁС£È»ºó£¬Ëü½«¸ù¾ÝÒ»¶¨µÄËÑË÷²ßÂÔ´Ó¶ÓÁÐÖÐÑ¡ÔñÏÂÒ»²½Òª×¥È¡µÄÍøÒ³URL,²¢Öظ´ÉÏÊö¹ý³Ì£¬Ö±µ½´ïµ½ÏµÍ³µÄijһÌõ¼þʱֹͣ¡£¸ÃÄ£¿éͨ¹ýÍøÂçÅÀ³æ´Ó·ï»Ë¡¢ÌÚѶ¡¢ËѺü¡¢ÍøÒ×ÐÂÎÅÍøÖеÄÍøÒ³ÅÀÈ¡ÎÒÃÇÏëÒªµÄÒ³ÃæURL.ÅÀ³æ¿ªÊ¼Ê±£¬ÎÒÃÇÌí¼ÓÖÖ×ÓURLµ½URLÇëÇó¶ÓÁÐÖУ¬ÎÒÃÇÊäÈëµÄÖÖ×ÓURLΪ·ï»Ë¡¢ÌÚѶ¡¢ËѺü¡¢ÍøÒ³ÐÂÎÅÍøµÄÒ³ÃæµÄURL.ͨ¹ý¶Ô·ï»Ë¡¢ÌÚѶ¡¢ËѺü¡¢ÍøÒ×ÐÂÎÅÍøµÄÒ³ÃæµÄURL¸ñʽ½øÐзÖÎö£¬µ±µÃµ½µÄURLµØÖ·Âú×ã·ï»Ë¡¢ÌÚѶ¡¢ËѺü¡¢ÍøÒ×ÍøÒ³ÃæµÄURL¸ñʽ£¬Ôò½«ËüÌí¼Óµ½URLÇëÇó¶ÓÁÐÖС£
¡¡¡¡
¡¡¡¡ÍøÂçÅÀ³æµÄ¹¤×÷Á÷ͼÈçͼ5Ëùʾ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡¶¨ÖÆÍøÂçÅÀ³æץȡ·ï»ËÍø£º
¡¡¡¡
¡¡¡¡<spiderConfig name=“Spider” interval=“200”>
¡¡¡¡
¡¡¡¡<seed url=“http://news.ifeng.com/”
¡¡¡¡
¡¡¡¡parser=“org.webspider.parser.NewsIfengParser”
¡¡¡¡
¡¡¡¡listener=“org.webspider.listener.DbSpiderListener”
¡¡¡¡
¡¡¡¡host=“news.ifeng.com” forbidden=“”>
¡¡¡¡
¡¡¡¡<target type=“regex”><![CDATA[http://news\.ifeng\.com/a/\d{8}/\d+_\d{1}\.shtml]]></target>
¡¡¡¡
¡¡¡¡<digUrl type=“start” ><![CDATA[http://news.ifeng.com/]]></digUrl>
¡¡¡¡
¡¡¡¡</seed>
¡¡¡¡
¡¡¡¡</spiderConfig>
¡¡¡¡
¡¡¡¡2.2 ÍøÒ³ÐÅÏ¢³éÈ¡¡£
¡¡¡¡
¡¡¡¡ÍøÒ³ÄÚÈݳéÈ¡Ö÷Òª¸ºÔ𽫱¾µØÎļþËù´æ´¢µÄÍøÒ³Öа´ÕÕijÖÖ³éÈ¡¹æÔò³éÈ¡ËùÐèÐÅÏ¢£¬²¢½«ËùµÃµ½µÄÐÅÏ¢°´ÕÕÌض¨µÄ¸ñʽ±£´æµ½Êý¾Ý¿âÖС£
¡¡¡¡
¡¡¡¡±éÀú´æ´¢ËùץȡÍøÒ³µÄ±¾µØÎļþ¼Ð£¬Èç¹û±éÀúµ½ÍøÒ³£¬ÔòÔËÓÃjsoup¶ÔÍøÒ³µÄ±êÌ⣬×÷Õߣ¬Ê±¼ä£¬ÕýÎÄʵÏÖ¶¨Ïòץȡ¡£½«×¥È¡µÄÄÚÈݱ£´æΪ¡£txtÎļþ´æ·Åµ½Ö¸¶¨Îļþ¼ÐÖС£½«×¥È¡µ½µÄÄÚÈÝ£¬ÈçÍøÒ³·ï»ËÍøÐÂÎŵıêÌ⣬×÷Õߣ¬·¢²¼Ê±¼ä£¬ÕýÎÄ£¬Á´½ÓµØÖ·£¬·Ö±ð´æÈëµ½Êý¾Ý¿ânews±íÖеÄÏàÓ¦ÁС£
¡¡¡¡
¡¡¡¡ÍøÒ³ÐÅÏ¢³éÈ¡Á÷³Ìͼ6ÈçÏ¡£
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡ÊµÏֵĹؼü´úÂ룺
¡¡¡¡
¡¡¡¡public class DefaultParser implements Parser{.
¡¡¡¡
¡¡¡¡@Override.
¡¡¡¡
¡¡¡¡public List<Map<String, Object¡· parse£¨Page page£© {.
¡¡¡¡
¡¡¡¡//´´½¨Ò»¸öList,´æ·Å½âÎö³öÀ´µÄMap.
¡¡¡¡
¡¡¡¡List<Map<String, Object¡· datas = new ArrayList<Map<String,Object¡·£¨£©¡£
¡¡¡¡
¡¡¡¡//ͨ¹ýÍøÒ³µÄhtml,´´½¨Ò»¸öDocument.
¡¡¡¡
¡¡¡¡Document doc = Jsoup.parse£¨page.getContent£¨£©£©¡£
¡¡¡¡
¡¡¡¡//´´½¨Ò»¸ömap,ÓÃÓÚ´æ·Å½âÎöµÄ¾ßÌå×ֶΡ£
¡¡¡¡
¡¡¡¡Map<String, Object> data = new HashMap<String,Object>£¨£©¡£
¡¡¡¡
¡¡¡¡//°ÑÍøÒ³µÄÔʼurl·ÅÈëmap.
¡¡¡¡
¡¡¡¡data.put£¨“origin_url”, page.getUrl£¨£©£©¡£
¡¡¡¡
¡¡¡¡//ÀûÓÃjsoupµÄÑ¡ÔñÆ÷£¬ÌáÈ¡±êÌâtitleÕâ¸öÔªËØ¡£
¡¡¡¡
¡¡¡¡Elements title = doc.select£¨“title”£©¡£
¡¡¡¡
¡¡¡¡//µÃµ½±êÌâµÄÎı¾£¬²¢·Åµ½mapÀïÈ¥¡£
¡¡¡¡
¡¡¡¡data.put£¨“title”, title.text£¨£©£©¡£
¡¡¡¡
¡¡¡¡//½âÎöµÃµ½µÄmap,·ÅÈëlistÀïÈ¥¡£
¡¡¡¡
¡¡¡¡datas.add£¨data£©¡£
¡¡¡¡
¡¡¡¡//·µ»Ø½âÎö½á¹ûList.
¡¡¡¡
¡¡¡¡return datas;}}
¡¡¡¡