新闻消息的爬取-jsoup

新闻消息的爬取-jsoup

 

    业务场景:新闻消息爬取,半自动半人工。

 

    新闻来源几个固定网站,人工则是工作人员在网上看到一个需要的消息,直接拷贝网址,然后根据网址自动提取。

 

    消息内容:标题,简介,网址,封面图片

 

  采用开发插件 jsoup,感觉是最方便的简析工具,比htmlparser等好用得多

 

一.Jsoup开发参考资料

1.  中文api参考  http://www.open-open.com/jsoup/

2.  参考文档          自行百度微笑

 

二.使用方法

 

1. get方法获取

Document doc = Jsoup.connect("http://www.XXX.com").get();

String title = doc.title();

 

2. post方法获取

Document doc = Jsoup.connect("http://www.XXX.com")

  .data("query", "Java")   //请求参数

  .header("Connection", "close") //设置header

  .cookie("auth", "token") //设置cookie

  .timeout(3000)           //设置连接超时时间

  .post();                 //使用POST方法访问URL

 

3. 循环获取图片元素

Elements pngs = doc.select("img[src$=.png]");//所有引用png图片的元素

for (Element png : pngs ) {

  String src= link.attr("src");  

}

 

4. 添加属性

doc.select("div.comments a").addClass("mylinkclass");

//为所有链接增加 class=mylinkclass 属性

 

三.问题合集

 

1. 中文问题

(1)url路径带中文

中文调用getBytes("utf-8") 进行utf-8编码后再访问

 

(2)html内容中文乱码

Document document = Jsoup.parse(new URL(url).openStream(), "GBK", url);

//GBKUTF-8

 

2. 获取 title 时中文网址返回英文说明

例如访问这个网址https://pomotodo.com/ ,返回的是英文title

Document get时加上这句 header("Accept-Language", "zh-cn,zh;q=0.5")

 

3.图片路径问题

(1) // 开头,直接添加 http: 即可,这是默认的http协议

(2) /  开头,图片在根目录下

3../ 图片在相对路径目录下

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值