新闻机制抓取
1.由于项目需求,需要从特定的网站上抓取新闻,保存到本地的数据中,并且将程序打包成可运行jar,在windows自带的系统中,定时运行。
现将开放过程写出来,与大家分享。
开发前准备:
程序需要的jar
2.抓取新闻的网站:是用配置文件的形式
新建配置文件:lmsp-snatch-dataconfig.xml:内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!--
XML配置说明
id:编号, encoding:编码方式, preurl:url前缀, page:分页, size:总页数, include :是否包括当前url(0:不包括,1:包括)
name:描述
pattern: regex:抓取的正则表达式 group:配置组
catelog: 目录结构
datasave :保存文件参数, datatype:url后缀格式, datasavetype:文件保存方式, datasavepattern:保存匹配正则 默认保存为HTML文件
-->
<document>
<datadefine id="1" encoding="gb2312" loop="0" initDays="5" preurl="http://www.linkstec.com/">
<url page="1" include="1">http://www.linkstec.com/*</url> <!-- 新闻 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/zzyj/*</url> <!-- 中证研究 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/gszb/*</url> <!-- 中证研究 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/scyj/*</url> <!-- 市场研究 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/mjks/*</url> <!-- 名家看市 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/cbjj/*</url> <!-- 晨报精选 -->
<url page="1" include="1">http://www.cs.com.cn/sylm/zjyl_1/*</url> <!-- 观点评论 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/tzpj/*</url> <!-- 投资评级 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/ggrp/*</url> <!-- 个股热评 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/gzqh/*</url> <!-- 股指期货 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/hyyj/*</url> <!-- 行业研究 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/sjjj/*</url> <!-- 数据·资金 -->
<url page="1" include="1">http://www.cs.com.cn/gppd/bgdt/*</url> <!-- B股动态 -->
<urlfilter timepos="8-16">[0-9]{6}/t[0-9]{8}</urlfilter>
<notfound>对不起,您要访问的页面暂时没有找到</notfound>
<prefix>index_</prefix>
<suffix>.html</suffix>
<host>cs.com.cn</host>
<name>中证网</name>
</datadefine>
<datadefine id="2" encoding="UTF-8" loop="0" initDays="5" preurl="http://company.stcn.com/gsxw/">
<url page="1" include="1">http://company.stcn.com/*</url> <!-- B股动态 -->
<urlfilter timepos="1-10">(\/[0-9]{4}){2}\/[0-9]{8}(\.\w+)</urlfilter>
<notfound>对不起,您要访问的页面暂时没有找到</notfound>
<prefix></prefix>
<suffix>.shtml</suffix>
<host>stcn.com</host>
<name>证券时报</name>
</datadefine>
</document>
3.程序使用的线程(建议不要修改)
新建配置文件:lmsp-snatch-threadconfig.xml:内容如下:
<?xml version="1.0" encoding="utf-8"?>
<threadparam>
<threadswitch>0</threadswitch><!--线程开关:0表示开启;1表示关闭-->
<threadnum>5</threadnum><!--线程数:根据实际情况来配置,数目不要太大-->
</threadparam>
4.链接本地数据库,将从网站抓取的数据,保存到本地数据库
新建配置文件:lmsp-snatch-connection.xml 内容如下:
<?xml version="1.0" encoding="utf-8"?>
<datasource>
<provider>oracle.jdbc.driver.OracleDriver</provider>
<connection-url>jdbc:oracle:thin:@192.168.2.230:1521:ORCL</connection-url>
<user-name>DBTHNEW</user-name>
<password>DBTHNEW</password>
</datasource>