求个正则表达式,万分感谢

whos2002110 2014-10-16 03:51:25
在爬一些财经新闻时,碰到个问题是这样的:

从某个跟节点开始爬(http://news.hexun.com/), 每级爬下来有很多链接,新闻链接格式如下:
news.hexun.com/2014-10-16/1221323123.html;
stock.hexun.com/2014-10-16/8097823123.html;
xxx.hexun.com/yyyy-MM-dd/7797979123.html;

二级域名有很多(news、stock、roll、opinion、tv...) 在过滤url时, 我使用这个正则: http://[a-z]+.hexun.com.*
这样所有和讯网本身的链接都会继续请求(抓下一级), 对于所有满足上述条件的url 我再使用
http://[a-z]+.hexun.com/2014-10-16/[0-9]+.html 过滤出当天新闻页面保存到本地。

这两个正则基本可以满足要求, 但是后来发些问题, 页面上的js、css链接满足第一个正则也会去抓取一次, 显然没有必要。
再有有个栏目是tv,这个栏目里都是视频新闻,我也不要。

我怎么修改第一个正则使:
1 不抓取页面上的.js、.css链接
2. 不抓取tv.hexun.com/xxx 这样的链接。

修改这个 http://[a-z]+.hexun.com.* , [a-z]+ 改为非tv 还有不是以js、css结尾。

正则不懂,求帮助
...全文
261 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2014-10-20
  • 打赏
  • 举报
回复
匹配 .htm 结尾的可以吗?
猿哥 2014-10-19
  • 打赏
  • 举报
回复
引用 3 楼 sca4441479 的回复:
final String REGEX="http://[^tv]+\\.hexun\\..*[^cssjs]$";
可能有问题,楼主先用着
正解
sca4441479 2014-10-17
  • 打赏
  • 举报
回复
final String REGEX="http://[^tv]+\\.hexun\\..*[^cssjs]$";
可能有问题,楼主先用着
whos2002110 2014-10-17
  • 打赏
  • 举报
回复
引用 1 楼 ohogogo 的回复:
非要要用正则吗?可以不可以通过过滤器来做?
你说的过滤器是指什么? 我这个正则校验就是一个过滤器的实现
ps低音炮 2014-10-16
  • 打赏
  • 举报
回复
非要要用正则吗?可以不可以通过过滤器来做?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧