æžå®šäº†Spam Commentsçš„è‡ªåŠ¨æŽ¢æµ‹å’Œåˆ é™¤
最近工作比较忙,所以åªèƒ½ä¸‹äº†çæžæžè¿™ä¸ªä¸œè¥¿ã€‚今天终于æžå®šäº†ï¼Œç„¶åŽçœ‹ç€æ•°å个Spam Comment瞬间æžå®šè¿˜æ˜¯å¾ˆæœ‰æˆå°±æ„Ÿçš„。
这个问题的关键在两个问题上:第一,如何得到一个Spam Commentçš„åˆ—è¡¨ï¼›ç¬¬äºŒï¼Œå¦‚ä½•åˆ é™¤å®ƒä»¬ã€‚
先考虑第二个问题。其实ä¸ç®¡Space的代ç 多å¤æ‚,最åŽå¯¹Blogçš„æ“作还是è¦ç»è¿‡HTTPä¼ è¾“çš„ã€‚æˆªèŽ·HTTPä¼ è¾“æ•°æ®çš„方案有很多,我用的是TamperData这个Firefox扩展。简å•çš„找两个Commentsåˆ é™¤ä¸€ä¸‹ï¼Œå‘现对应的HTTPè¯·æ±‚æ˜¯è¿™æ ·çš„ï¼š
POST http://ftofficer.spaces.live.com/parts/blog/script/BlogService.fpp?cnmn=Microsoft.Spaces.Web.Parts.BlogPart.FireAnt.BlogService.delete_items&ptid=0&a=&au=undefined HTTP/1.1
Host: ftofficer.spaces.live.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.7,en-us;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: UTF-8,*
Connection: close
Content-Type: application/x-www-form-urlencoded
X-FPP-Command: 0
sc: [...]
Referer: [...]
Content-Length: 117
Cookie: [....]
Pragma: no-cache
Cache-Control: no-cache
cn=Microsoft.Spaces.Web.Parts.BlogPart.FireAnt.BlogService&mn=delete_items&d=[{1,%22cns!423B72634E2F6B7E!611%22}]&v2
å…¶ä¸æœ€é‡è¦çš„ä¸œè¥¿å°±æ˜¯çº¢è‰²æ ‡è®°çš„éƒ¨åˆ†ï¼Œå‰é¢Cookieæ˜¯ä½œä¸ºä½ å·²ç»ç™»å½•åˆ°Live Spaceçš„è¯æ®ï¼›åŽé¢çš„一串å—符串就是è¦åˆ 除的Commentçš„ID。所以我们需è¦çš„工作就是获å–到这个ID,然åŽä½¿ç”¨HTTPé‡æ”¾å°±å¯ä»¥äº†ã€‚最åŽæˆ‘直接å·æ‡’用了NetCat,写了一个Request的模æ¿ï¼Œç”¨Perl替æ¢ä¸€ä¸‹å…¶ä¸çš„ID,用NC连上Live Space然åŽé‡æ”¾å°±æ˜¯äº†ã€‚æ–¹æ³•å°±æ˜¯è¿™æ ·ï¼Œå¦‚æžœè¦åšæˆè½¯ä»¶å¯èƒ½è¿˜æ¯”较麻烦一点,看看有空å†æžï¼Œæœ€è¿‘实在太忙。
然åŽå›žåˆ°ç¬¬ä¸€ä¸ªé—®é¢˜ï¼Œæˆ‘们需è¦èŽ·å–到所有的Spam Comments的列表,这个问题ä¸å¯é¿å…çš„å°±è¦æŠŠSpace爬一é,枚举当ä¸æ‰€æœ‰çš„Comments的内容,并一一判æ–。如果符åˆæŸç§æ¡ä»¶ï¼Œå°±å°†å…¶ID记录下æ¥ã€‚ä¸è¿‡è¦ä»Žå¤´åˆ†æžSpace的页é¢ç»“构并且枚举出ID和内容也是个很好大的工程,ä¸å¦‚找找有没有现æˆçš„方案。ç»è¿‡ä¸€ç•ªGoogle,找到了Live Space Mover这个项目。这个项目当ä¸åŒ…括了枚举Live Space当ä¸æ‰€æœ‰çš„Comments的功能,功能ä¸é”™ã€‚但是ä¸è¶³çš„是åªèƒ½èŽ·å–到的是Comments的内容,å‘é€è€…这些信æ¯ï¼Œä¸åŒ…括对我æ¥è¯´æœ€é‡è¦çš„ID,ä¸è¿‡è¿™ä¸æ˜¯ä»€ä¹ˆå¤§é—®é¢˜ï¼ŒPython的脚本在哪里放ç€ï¼Œä»£ç 改改就行了。这段代ç 改过之åŽï¼ŒèŠ±10分钟把Blog爬了一é,æˆåŠŸç”Ÿæˆåˆ—表,然åŽæ‹¿perl解æžä¸€ä¸‹ï¼Œè°ƒç”¨ä¸€ä¸‹nc,æžå®šã€‚
方案是有了,有空整ç†ä¸€ä¸‹ï¼Œåšä¸€ä¸ªç‚¹ç‚¹é¼ æ ‡å°±èƒ½æžå®šçš„东西,或者一个命令行æžå®šçš„东西。
å†è¯´å†è¯´ï¼Œå¿™å¾—很。有没有人自愿报å实践一下的?