├── .gitattributes ├── .gitignore ├── README.md ├── jars ├── commons-codec-1.6.jar ├── commons-logging-1.1.3.jar ├── fluent-hc-4.3.3.jar ├── httpclient-4.3.3.jar ├── httpclient-cache-4.3.3.jar ├── httpcore-4.3.2.jar ├── httpmime-4.3.3.jar ├── jsoup-1.7.2.jar └── mysql-connector-java-5.1.22-bin.jar ├── pic ├── pic.jpg ├── pic2.fla ├── pic2.jpg ├── pic3.jpg └── pic4.jpg └── src └── com └── td1madao ├── bean ├── JsoupBean.java ├── KeyWord.java └── UrlScoreBean.java ├── db └── DBOperator.java ├── filters ├── FiltTag.java ├── URLTool.java └── fetchUrlUtil.java ├── global ├── GlobalVar.java └── TaskQueue.java ├── gui ├── MyFrame.java └── NoGui.java ├── htmlGet └── GetHttp.java ├── math ├── ListProcess.java └── WordDensity.java ├── stringUtil └── MyStringUtil.java ├── threads ├── DaemonThread.java ├── MEngine.java ├── MSpider.java └── SpiderUtil.java └── useEngine ├── CopyOfFetchSouSou.java ├── Fetch360.java ├── FetchBaidu.java ├── FetchGoogle.java └── FetchSouSou.java /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################# 2 | ## Eclipse 3 | ################# 4 | 5 | *.pydevproject 6 | .project 7 | .metadata 8 | bin/ 9 | tmp/ 10 | *.tmp 11 | *.bak 12 | *.swp 13 | *~.nib 14 | local.properties 15 | .classpath 16 | .settings/ 17 | .loadpath 18 | 19 | # External tool builders 20 | .externalToolBuilders/ 21 | 22 | # Locally stored "Eclipse launch configurations" 23 | *.launch 24 | 25 | # CDT-specific 26 | .cproject 27 | 28 | # PDT-specific 29 | .buildpath 30 | 31 | 32 | ################# 33 | ## Visual Studio 34 | ################# 35 | 36 | ## Ignore Visual Studio temporary files, build results, and 37 | ## files generated by popular Visual Studio add-ons. 38 | 39 | # User-specific files 40 | *.suo 41 | *.user 42 | *.sln.docstates 43 | 44 | # Build results 45 | 46 | [Dd]ebug/ 47 | [Rr]elease/ 48 | x64/ 49 | build/ 50 | [Bb]in/ 51 | [Oo]bj/ 52 | 53 | # MSTest test Results 54 | [Tt]est[Rr]esult*/ 55 | [Bb]uild[Ll]og.* 56 | 57 | *_i.c 58 | *_p.c 59 | *.ilk 60 | *.meta 61 | *.obj 62 | *.pch 63 | *.pdb 64 | *.pgc 65 | *.pgd 66 | *.rsp 67 | *.sbr 68 | *.tlb 69 | *.tli 70 | *.tlh 71 | *.tmp 72 | *.tmp_proj 73 | *.log 74 | *.vspscc 75 | *.vssscc 76 | .builds 77 | *.pidb 78 | *.log 79 | *.scc 80 | 81 | # Visual C++ cache files 82 | ipch/ 83 | *.aps 84 | *.ncb 85 | *.opensdf 86 | *.sdf 87 | *.cachefile 88 | 89 | # Visual Studio profiler 90 | *.psess 91 | *.vsp 92 | *.vspx 93 | 94 | # Guidance Automation Toolkit 95 | *.gpState 96 | 97 | # ReSharper is a .NET coding add-in 98 | _ReSharper*/ 99 | *.[Rr]e[Ss]harper 100 | 101 | # TeamCity is a build add-in 102 | _TeamCity* 103 | 104 | # DotCover is a Code Coverage Tool 105 | *.dotCover 106 | 107 | # NCrunch 108 | *.ncrunch* 109 | .*crunch*.local.xml 110 | 111 | # Installshield output folder 112 | [Ee]xpress/ 113 | 114 | # DocProject is a documentation generator add-in 115 | DocProject/buildhelp/ 116 | DocProject/Help/*.HxT 117 | DocProject/Help/*.HxC 118 | DocProject/Help/*.hhc 119 | DocProject/Help/*.hhk 120 | DocProject/Help/*.hhp 121 | DocProject/Help/Html2 122 | DocProject/Help/html 123 | 124 | # Click-Once directory 125 | publish/ 126 | 127 | # Publish Web Output 128 | *.Publish.xml 129 | *.pubxml 130 | 131 | # NuGet Packages Directory 132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line 133 | #packages/ 134 | 135 | # Windows Azure Build Output 136 | csx 137 | *.build.csdef 138 | 139 | # Windows Store app package directory 140 | AppPackages/ 141 | 142 | # Others 143 | sql/ 144 | *.Cache 145 | ClientBin/ 146 | [Ss]tyle[Cc]op.* 147 | ~$* 148 | *~ 149 | *.dbmdl 150 | *.[Pp]ublish.xml 151 | *.pfx 152 | *.publishsettings 153 | 154 | # RIA/Silverlight projects 155 | Generated_Code/ 156 | 157 | # Backup & report files from converting an old project file to a newer 158 | # Visual Studio version. Backup files are not needed, because we have git ;-) 159 | _UpgradeReport_Files/ 160 | Backup*/ 161 | UpgradeLog*.XML 162 | UpgradeLog*.htm 163 | 164 | # SQL Server files 165 | App_Data/*.mdf 166 | App_Data/*.ldf 167 | 168 | ############# 169 | ## Windows detritus 170 | ############# 171 | 172 | # Windows image file caches 173 | Thumbs.db 174 | ehthumbs.db 175 | 176 | # Folder config file 177 | Desktop.ini 178 | 179 | # Recycle Bin used on file shares 180 | $RECYCLE.BIN/ 181 | 182 | # Mac crap 183 | .DS_Store 184 | 185 | 186 | ############# 187 | ## Python 188 | ############# 189 | 190 | *.py[co] 191 | 192 | # Packages 193 | *.egg 194 | *.egg-info 195 | dist/ 196 | build/ 197 | eggs/ 198 | parts/ 199 | var/ 200 | sdist/ 201 | develop-eggs/ 202 | .installed.cfg 203 | 204 | # Installer logs 205 | pip-log.txt 206 | 207 | # Unit test / coverage reports 208 | .coverage 209 | .tox 210 | 211 | #Translations 212 | *.mo 213 | 214 | #Mr Developer 215 | .mr.developer.cfg 216 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | MSpider 2 | ========== 3 | 基于词频密度过滤、利用百度、谷歌、搜搜、360搜索4个引擎为种子来源的多线程爬虫,结果存入mysql。用到了jsoup和webclient。 4 | 5 | 最近比较贪玩儿,冒着笔试可能挂的危险又把这个东东更新了下,现在它可以作为人肉某人的工具了,你可以试试拿这东东搜下你的网名或者你做过的没啥名气的项目,反正我试了,比如我做的一些垃圾东东真能爬出来 6 | 7 | 8 | - 更新**** 9 | - 10 | 2014年3月27日20:30:32 11 | 1.新增了搜索语句功能,可以像使用肚熊啊、谷歌啊那样用各种限制 比如 12 | ![](https://raw.githubusercontent.com/wo4li2wang/MSpider/master/pic/pic4.jpg) 13 | 14 | 就相当于在所有搜索引擎里输入 site:…… 语法进行搜索,根据上面输入的关键词进行评分。当然,不输入搜索语句,则用关键词在搜索引擎中搜索。 15 | 16 | 2.可以自己附加种子链接,如果你觉得这四个引擎不咋靠谱的话…… 17 | 18 | 3.增加了一些HTTP头信息,但是如果爬的流量太多,人家非说你是爬虫,非让你输入验证码,那我也没辙了 19 | 20 | 4.可以多层的爬(适合人肉非常难找的资源) ,如果是很常见的资源建议不要开这个功能。 21 | 22 | 23 | 代码需要重构一下,冗余的东东有些多,不够精简 24 | 25 | 26 | 27 | - 原理**** 28 | - 29 | **1. 过滤算法** 30 | 31 |   过滤关联度不大的网址,避免爬虫盲目搜索。目前只用到词频密度对网址和域名进行打分,在任务堆积较多(超过总队列长度90%)时,过滤掉相对评价分数小的网址。打算下一步得到关键词在全文的分布向量,用熵权系数法来比较各个关键词的分布情况,进一步优化过滤算法。原理和把纸撕成碎片然后对边缘进行拼合求关联度一样,关键词分布就像纸片的边缘,可以当做特征向量来求两两之间的商权系数,判断各关键词之间存在什么关系。(不过目前用词频密度过滤结果还算不错,大家可以试试看) 32 | 33 | 34 | **2. 整体结构** 35 | 36 |   分为引擎搜索线程、爬虫线程和垃圾回收线程、数据库模块和任务队列4部分。这里自己画了个大致的结构图,如下: 37 |   ![](https://raw.githubusercontent.com/wo4li2wang/MSpider/master/pic/pic2.jpg) 38 | 39 | 40 |   **引擎搜索线程**采用单例模式,可以利用上述4中搜索引擎输入关键字得到结果,并将结果以一种特殊的数据结构放入任务队列中。引擎搜索线程用于获得爬虫种子,它受垃圾回收线程的控制。在队列任务不多的情况下利用site:host语句在各个引擎中搜索模型中host评分最高的网址,获得关联度更强的种子供爬虫使用。 41 | 42 |   **爬虫线程**的数量是可修改的(下一步打算结合内存和算法让其数量动态变化)。它们不断向任务队列里申请任务,得到分配后爬取网页,调用过滤算法,将有价值的结果放入队列并调用数据库模块写入数据库。 43 | 44 |   **垃圾回收线程**是后台线程,单例模式,时刻监控任务队列的情况,并在任务较多时清理垃圾,任务较少时启动引擎搜索线程获得更多爬虫种子。平时则关闭引擎搜索线程。 45 | 46 |   **数据库模块**采用单例模式,我没有用ThreadLocal(因为我的小电脑顶多运行8只爬虫,读写操作没那么频繁)。用同步块来执行读写操作。接受引擎搜索线程和爬虫线程的读写请求。它以host作为分类准则,对连接进行分类处理。不同的host存入不同的表内。 47 | 48 |   **任务队列**其实不是队列,它是对TreeSet的改造,还是采用单例模式╮(╯▽╰)╭,存放特殊数据结构的任务,供爬虫们使用。同时它也负责爬虫请求的任务分配。 49 | 50 | 51 | **3. 执行过程** 52 | 53 |   1)调用引擎搜索线程run方法(注意不是start启动)初始化,从4个引擎上得到一定数量的种子 54 | 55 |   2)分别启动垃圾回收线程和所有爬虫线程,后续线程控制完全归垃圾回收线程控制。当然可以通过暂停按钮让所有线程阻塞。 56 | 57 | 58 | 59 | - 使用方法 60 | - 61 | 启动mysql,输入create database mspider; 62 | 63 | 启动 com.td1madao.gui.MyFrame 即可启动GUI程序,也可以用 64 | com.td1madao.gui.NoGui命令行启动 65 | 66 | gui效果如图 67 | 68 | ![](https://raw.githubusercontent.com/wo4li2wang/MSpider/master/pic/pic.jpg) 69 | 70 | 在数据库里的效果如图(这里用MYSQL FRONT显示) 71 | 72 | ![](https://raw.githubusercontent.com/wo4li2wang/MSpider/master/pic/pic3.jpg) 73 | 74 | 75 | 如果觉得功能不够,可以在com.td1madao.global.GlobalVar下修改默认配置,配置里提供了host黑名单、线程数量、算法等级、请求次数、任务队列长度等等,因为我不是很会做GUI,所以就没有在图形界面里实现这些功能。 76 | 77 | - 使用技巧 78 | - 79 | 如果想加入一些限制,可以采用如下语法 80 | 81 | 82 | > 关键词(权重,是否必须存在) 83 | 84 | 权重是一个正实数,默认为1,表示这个关键词的重要程度 85 | 86 | 是否必须存在是一个布尔值,只能为true或false,表示这个关键词是否必须有,如果选true,不含这个关键词的连接会被过滤掉 87 | 88 | 比如: 89 | 90 | 91 | > JAVA 本科生 暑假 实习(4,true) 2014 92 | 93 | 那么实习这个词必须出现,且其词频密度权重为其他关键词的4倍(默认为1)。这样优先得到与实习关联强的连接 94 | 95 | 如果用括号限制,两个值必须都写,不能只写一个,关键词和括号之间不能存在空格! 96 | 97 |
98 | 99 | **[将要实现的功能]** 如果有时间,打算增加同义词功能,比如: 100 | 101 | 奇虎/360/安全卫士(1,true) JAVA 后台 102 | 103 | 这样可以把 奇虎、360、安全卫士多个词当做同义词进行算法分析,搜索时类似搜索引擎的'OR'语法,但在算法实现上有点困难,有时间我会补充上。因为涉及到编译原理词法分析和语法分析的知识,稍微有点难做。 104 | 105 | 106 |

这只大爬虫的完全是出自个人的兴趣,程序结构、模型设计,算法设计和代码实现均个人完成,有的地方代码还不是很规范,很多设计模式也没有灵活运用上,希望大家不要笑话我o(╯□╰)o



107 | -------------------------------------------------------------------------------- /jars/commons-codec-1.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/commons-codec-1.6.jar -------------------------------------------------------------------------------- /jars/commons-logging-1.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/commons-logging-1.1.3.jar -------------------------------------------------------------------------------- /jars/fluent-hc-4.3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/fluent-hc-4.3.3.jar -------------------------------------------------------------------------------- /jars/httpclient-4.3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/httpclient-4.3.3.jar -------------------------------------------------------------------------------- /jars/httpclient-cache-4.3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/httpclient-cache-4.3.3.jar -------------------------------------------------------------------------------- /jars/httpcore-4.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/httpcore-4.3.2.jar -------------------------------------------------------------------------------- /jars/httpmime-4.3.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/httpmime-4.3.3.jar -------------------------------------------------------------------------------- /jars/jsoup-1.7.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/jsoup-1.7.2.jar -------------------------------------------------------------------------------- /jars/mysql-connector-java-5.1.22-bin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/jars/mysql-connector-java-5.1.22-bin.jar -------------------------------------------------------------------------------- /pic/pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/pic/pic.jpg -------------------------------------------------------------------------------- /pic/pic2.fla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/pic/pic2.fla -------------------------------------------------------------------------------- /pic/pic2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/pic/pic2.jpg -------------------------------------------------------------------------------- /pic/pic3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/pic/pic3.jpg -------------------------------------------------------------------------------- /pic/pic4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/pic/pic4.jpg -------------------------------------------------------------------------------- /src/com/td1madao/bean/JsoupBean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/bean/JsoupBean.java -------------------------------------------------------------------------------- /src/com/td1madao/bean/KeyWord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/bean/KeyWord.java -------------------------------------------------------------------------------- /src/com/td1madao/bean/UrlScoreBean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/bean/UrlScoreBean.java -------------------------------------------------------------------------------- /src/com/td1madao/db/DBOperator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/db/DBOperator.java -------------------------------------------------------------------------------- /src/com/td1madao/filters/FiltTag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/filters/FiltTag.java -------------------------------------------------------------------------------- /src/com/td1madao/filters/URLTool.java: -------------------------------------------------------------------------------- 1 | package com.td1madao.filters; 2 | 3 | import java.util.regex.Matcher; 4 | import java.util.regex.Pattern; 5 | 6 | public class URLTool { 7 | public static boolean isURL(String urlString) { 8 | String regex = "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" ; 9 | Pattern patt = Pattern. compile(regex ); 10 | Matcher matcher = patt.matcher(urlString); 11 | boolean isMatch = matcher.matches(); 12 | if (!isMatch) { 13 | return false; 14 | } 15 | return true; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/com/td1madao/filters/fetchUrlUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/filters/fetchUrlUtil.java -------------------------------------------------------------------------------- /src/com/td1madao/global/GlobalVar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/global/GlobalVar.java -------------------------------------------------------------------------------- /src/com/td1madao/global/TaskQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/global/TaskQueue.java -------------------------------------------------------------------------------- /src/com/td1madao/gui/MyFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/gui/MyFrame.java -------------------------------------------------------------------------------- /src/com/td1madao/gui/NoGui.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/gui/NoGui.java -------------------------------------------------------------------------------- /src/com/td1madao/htmlGet/GetHttp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/htmlGet/GetHttp.java -------------------------------------------------------------------------------- /src/com/td1madao/math/ListProcess.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/math/ListProcess.java -------------------------------------------------------------------------------- /src/com/td1madao/math/WordDensity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/math/WordDensity.java -------------------------------------------------------------------------------- /src/com/td1madao/stringUtil/MyStringUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/stringUtil/MyStringUtil.java -------------------------------------------------------------------------------- /src/com/td1madao/threads/DaemonThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/threads/DaemonThread.java -------------------------------------------------------------------------------- /src/com/td1madao/threads/MEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/threads/MEngine.java -------------------------------------------------------------------------------- /src/com/td1madao/threads/MSpider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/threads/MSpider.java -------------------------------------------------------------------------------- /src/com/td1madao/threads/SpiderUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/threads/SpiderUtil.java -------------------------------------------------------------------------------- /src/com/td1madao/useEngine/CopyOfFetchSouSou.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/useEngine/CopyOfFetchSouSou.java -------------------------------------------------------------------------------- /src/com/td1madao/useEngine/Fetch360.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/useEngine/Fetch360.java -------------------------------------------------------------------------------- /src/com/td1madao/useEngine/FetchBaidu.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/useEngine/FetchBaidu.java -------------------------------------------------------------------------------- /src/com/td1madao/useEngine/FetchGoogle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/useEngine/FetchGoogle.java -------------------------------------------------------------------------------- /src/com/td1madao/useEngine/FetchSouSou.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wo4li2wang/MSpider/b18ac28cf03a7a9d04e31df4fa1f150a700cf42f/src/com/td1madao/useEngine/FetchSouSou.java --------------------------------------------------------------------------------