`

爬东东的小结

阅读更多

最近我们(可以叫做公司)做一个社区型的区域性信息门户网站。

 

栏目比较多、杂,主要面向年轻人,所以**时尚,**教育培训,**趣闻等,内容性的东西一时还不够丰富,所以,就想办法去一些目标网站上爬东东,说白了,就字符串正则匹配、本地入库么。

 

下面小结下中间遇到的问题和解决方法:

 

工具:

H2 数据库(或Mysql **),自己熟悉,Java的,Java交互效率高;

Groovy,脚本么,好改撒;

HttpClient Commons工具包的,用作登陆用的;

PowerCMD,脚本组织么,这个Windows下的命令行工具很好用;

一个编辑器——***,***,Editplus——这个东东是我用Windows的80%的原因所在。

 

后俩纯属额外“广告”,小推荐一下么。

 

需求分析:

1. 文章型内容,做过**站的,多少都知道,数据库设计,就那几个表么,关键字段标题,时间之类的。所以查询出来显示一般一个列表,然后点击标题链接,到具体文章页面——So,查询出来的二维数据结果集,一般都遍历么,应该有个比较明显的begin和end。根据这个begin和end再加一个正则,就把那些关键字段信息,弄出来了。

 

2. 文章内容也如此。

 

过程步骤:

1. 目标URL列表,http://domain/urlpre/pagination_action/page_param么,俺还没做到deep > 1的多层爬取——不过这样,简单也好调试,不至于一次搞n个正则匹配的;

 

2. Download URL页面到本地(纯是为了后面的定时任务的时间核对准确,网速好的省了撒);

 

3. 遍历URL到源码,根据begin和end找到List<[title, link, date]>,对应那个抽象的**_thread表的内容,然后遍历,正则,入库;

 

4. 根据一个文章对应的URL的源码,写一个能获取文章内容的Runnable,然后开个定时任务,update文章内容就是了;

 

5. 如果目标网站的内容获取,需要登录,那就用httpclient登陆后,获取cookie,然后再读取URL的流;

 

 

问题:

1. 网页编码——Groovy URL有个eachLine(encoding, Closure)的方法,很方便啊!!

 

2. 中文字符的正则匹配——这个一开始以为遇到bug了呢,不知道那些编码怎么搞的,一段字符串

中文</a> 

有时候硬是搞成了中??/a>,

.+<\/a>

就是匹配不了,后来google了下,用[^x00-xff]+或其他的才弄好——对编码了解皮毛——汗啊!

 

3. 重用性的设计

入库的表格结构,可以搞以下几列:

来源 正则匹配组1 正则匹配组2 正则匹配组3 正则匹配组4 *** 内容

 

一些数据库操作的弄成一个DAO

 

一个通用的表示一个目标网站的数据组织结构:

比如:

Map website1 = [des, beginUrl, paginationUrlList,

htmlListItemBegin, htmlListItemEnd, htmlListItemPat,

contentUrlPatGroup,

htmlContentBegin, htmlContentEnd, htmlContentPat,

spiderThreadNum, spiderThreadDelayInSeconds, spiderThreadPeriodInSeconds]

这样,写一个MySpider,一个方法,把上面的那个参数传进来,下面的就看日志和数据库的东东就好了

 

如果对方的URL组织比较麻烦,比如Content URL也是分页的,那就需要多写点针对性的代码

 

Web元素的download:

这个就没啥说的,正则,匹配那些图片之类的,download下来,然后用本地的文件路径replace掉

 

增量采集:

也没啥说的,开个定时任务,从beginUrl找到contentUrl列表,如果数据库已经存在的,continue就是了

 


我在自己一台笔记本和网络环境下,2s的Thread间距,弄下来1w个,还是很快的,一共(数据库,两三个任务进程)才100M不到内存,一下午加上调试,就把人家的积累的东东搞过来的——话说再加一个“伪原创”工具,就很BT了。

 

话说好多Website也不做这些反爬的,即便做了,用httpclient工具想必也差不多(Groovy有个HttpBuilder,包装了下),JE的新闻,我试了,貌似不成呢,呵呵!

 

代码就不献丑了,一点小心得,分享下!关注此方面的朋友,以后多多交流下,版权或侵权问题,到没仔细考虑过,555,不会因为这个闹官司吧

分享到:
评论

相关推荐

    淘东东最新版淘宝客程序V2.2

    淘东东淘宝客程序V2.2.101215 该版本集成截止2010年12月15日前所发布的所有补丁,在此之前发布的补丁无需再次安装 默认清空所有本地商品数据,全站采用远程实时调用模式(强烈建议用户采用该模式,无需采集入库,...

    东东打码

    【标题】"东东打码"是一个可能与图像识别或数据录入相关的软件工具,主要用于处理大量需要人工识别和输入的数据,比如验证码识别。在互联网安全领域,验证码是防止恶意自动化程序(如机器人)进行非法操作的一种常见...

    淘东东V2.2

    【标题】"淘东东V2.2"是一款软件应用,可能是购物类应用程序的一个更新版本。根据描述,这个版本可能是用户从其个人电脑上提取并分享的,旨在提供给其他人尝试使用。"淘东东"这个名字暗示了它可能与知名的电子商务...

    京东农场 东东农场 auto.js

    东东农场自动化脚本

    东东农场更新版autojs

    【东东农场更新版autojs】是一款基于AutoJS编写的自动化工具,主要用于帮助用户实现对“东东农场”游戏的自动签到功能,确保玩家即使在忙碌时也不会错过每日的签到奖励,从而积累游戏内的资源,如水滴等重要道具。...

    东东自动化助手正式版v1.5.zip

    "东东自动化助手正式版v1.5.zip"是一个压缩包文件,包含了"东东自动化助手正式版v1.5.exe"程序以及"node.dll"动态链接库文件。这个工具显然是一个自动化处理软件,用于提高工作效率,减轻用户手动操作的负担。 首先...

    淘东东破解加强版

    淘东东破解加强版,ASPX.支持采集功能

    东东网址向导代码.zip

    【标题】"东东网址向导代码.zip" 提供的是一种网页导航的代码实现,它可能包含了一系列用于创建个性化或特殊效果的JavaScript脚本。在Web开发中,URL导航是必不可少的一部分,它帮助用户轻松地在不同的网页之间跳转...

    东东tools(JD CK抓取提交工具)

    东东tools,JD CK抓取提交工具,支持JDX

    淘东东淘宝客车程序

    淘东东对于没有做过淘客的网友来说不是很熟悉,淘东东是一款免费的淘宝客程序,所以对于淘客来说,如果你是新手的话推荐你先使用这款免费的淘东东淘宝客程序来做淘宝客。淘东东永久免费,请放心下载。

    数据分析东东

    "数据分析东东"这个标题暗示了我们即将探讨的主题是关于数据的深度挖掘与理解,旨在从海量信息中提取有价值的洞见。 首先,我们要了解数据分析的基本流程,通常包括数据收集、数据清洗、数据探索、数据分析和数据...

    auto.js东东农场自动化任务脚本.js

    本脚本基于auto.js编写,针对京东的东东农场活动,功能包括:自动签到、自动浏览、自动领取水滴、自动浇水等。

    淘东东淘宝客程序 V2.2.101215.rar

    淘东东淘宝客程序V2.2.101215 该版本集成截止2010年12月15日前所发布的所有补丁,在此之前发布的补丁无需再次安装 默认清空所有本地商品数据,全站采用远程实时调用模式(强烈建议用户采用该模式,无需采集入库,...

    有关ftp协议的许多东东

    FTP(File Transfer Protocol)协议是Internet上用于在主机之间传输文件的标准协议,它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。FTP协议基于TCP/IP模型,工作在应用层,提供了可靠的...

    WEB 设计页面东东

    窗口自动关闭,优化大师启不了.专杀. 博文链接:https://hooney.iteye.com/blog/174214

    连接1680c的东东

    连接1680c的东东连接1680c的东东连接1680c的东东连接1680c的东东 用户名:zdweiwt 注册码:zdweiwt@163.com

    关于解析xml文件的,很有用的东东

    关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml...

    东东货源网全站程序 v10.3 修正版

    东东货源网全站源码,非常实用,代码优化了很多内容,便于搜索引擎收录!本程序版本号V10.3修正版,同时也带独立文章管理系统。 网站主程序后台:/admin 独立文章管理系统后台:/wz/admin 密码/账户:admin ...

    淘宝皇冠店铺导航非常实用的东东

    淘宝皇冠店铺导航是一款针对淘宝平台精心设计的工具,旨在帮助用户快速、准确地找到信誉度高、评价良好的皇冠级店铺。这款源码结构清晰,适合开发者进行二次开发和定制,以满足不同用户群体的需求。...

    淘东东淘宝客程序V2.2.101215.rar

    淘东东淘宝客程序V2.2.101215 该版本集成截止2010年12月15日前所发布的所有补丁,在此之前发布的补丁无需再次安装 默认清空所有本地商品数据,全站采用远程实时调用模式(强烈建议用户采用该模式,无需采集入库,...

Global site tag (gtag.js) - Google Analytics