Skip to content
Url2IOBase
Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
libs
src/com/fuxiaosong/url2iobase
.gitignore
LICENSE
README-v1.md
README.md
Url2IOBase.iml

README.md

Url2IOBase 库 仅支持将爬取到的标题和内容写入文件,且文件的目录就是当前目录,它不支持其他任何操作,如保存到数据库等。

Url2IOElastic 库 则是采用了插件机制,可以自定义类对结果进行自定义处理,如保存到数据库、上传到服务器等。


以下内容适用于 v2.0.0 以上版本,v1.x.x 版本请参考 README-v1.md

#1

昨天刷微博的时候看到了 url2io,恰巧最近有爬网页的需求,便着手对 url2io 官方的 api 进行二次封装。封装得不好,见谅!

封装到何种程度是让人比较纠结的,如果封装的不够灵活,可能就不能拿来直接用了,可是官方的 api 十分的简单,封装的太灵活可能反而不如不封装,所以大家如果觉得可以直接用的,到 release 下载 jar 包即可,如果不能直接用的可以下载源码自己修改,代码渣,见谅。

#2

代码使用建造者模式,使用十分简单,到测试文件:Url2IOBaseTest 里一看便懂。现对所有的参数做着重说明:

  1. index : 仅表示索引,仅仅是标识当前爬取到第多少页,在控制台打印信息的时候显示用,并没有其他什么用,该属性的默认值为1
  1. total : 指定共需要爬取多少页的数据,该属性的默认值为10
  2. together : 聚合大小,用于指定将多少个网页的正文内容保存在同一个 txt 文件中,该属性的默认值为10
  3. what : 爬取的是什么东西,如小说的书名,仅用于输出文件的文件名
  4. token : token 必须要设置,token 必须要设置,重要的事情说2遍(到官网 url2io 注册帐号就可以拿到 token 了,莫急莫急)
  5. beginUrl : 爬取的第一个网页的 url,必须要设置,必须要设置,必须要设置,重要的事情说3遍
  6. sleepTime : 我也不知道 url2io 的抗压能力怎么样,不过爬一页休息2秒也没什么关系吧,该属性的默认值为2秒
  7. process : 把标题和正文内容爬出来了,但是可能包含一些我们不想要的东西,这时候就得自己写代码把那些渣渣去掉了,具体请到测试文件:Url2IOBaseTest 里一看便知,其实就是把标题和正文处理了一下,去掉几个字符什么的,相信你懂的 ^-^ ,默认不再做任何处理

#3

使用方法

  1. 引入 jar 包
  1. 创建 Url2IOBase 对象,并执行 article() 方法,以爬取《极品家丁》小说为例:

Url2IOBase url2IOBase = new Url2IOBase.Builder()
            .token("你的token")
            .index(1)
            .total(100)
            .together(5)
            .what("极品家丁")
            .beginUrl("http://www.ybdu.com/xiaoshuo/4/4398/556977.html")
            .sleepTime(5000L)
            .build();
url2IOBase.article();
//解释:爬取极品家丁小说,index从1开始,共爬取100页,每5页的正文内容保存在一个txt文件里,每爬一页休息的时间为5秒

#4

代码码好了,跑完了,是该收货的时候了。在源代码目录下会生成多个文件:

所有的标题都存放在一个文件里面,文件名为: what-title.txt,一个标题占一行,空几格是该页的 url,形如:
第一章 公子,公子(1) http://www.ybdu.com/xiaoshuo/4/4398/556977.html

正文内容会以 together 个网页内容为基础,分开保存在各个文件里面,如1-together 保存在:
what-1-together-content.txt 文件里。

#5

不仅人会蒙逼,服务器也会:

服务器跟你好好的说话是这样的:

你好啊

你把他惹生气了是这样的:

我生气了

#6

欢迎提 issue,提 PR。

You can’t perform that action at this time.