├── .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 | 
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 | 
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 | 
69 |
70 | 在数据库里的效果如图(这里用MYSQL FRONT显示)
71 |
72 | 
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
--------------------------------------------------------------------------------