Java语言高分悬赏:怎么提取百度新闻的标题到一个文本文件,可以使用httpclient的方法
2条回答 默认 最新
- Z_墨脱 2020-04-27 17:34关注
public class News {
public static void main(String[] args) throws ClientProtocolException, IOException {
// 创建HttpClient实例
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建httpget实例
HttpGet httpGet = new HttpGet("https://news.baidu.com/");RequestConfig config = RequestConfig.custom() .setConnectTimeout(10000)//设置连接超时时间10秒钟,单位毫秒 .setSocketTimeout(10000) //设置读取超时时间10秒钟 .build(); httpGet.setConfig(config); // 设置请求头消息User-Agent模拟浏览器 httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/59.0"); // 执行get请求 CloseableHttpResponse response = httpClient.execute(httpGet); // 获取返回实体 HttpEntity entity = response.getEntity(); // 实体的内容(编码格式为utf-8) String content = EntityUtils.toString(entity, "utf-8"); // System.out.println("网页内容为: " + content); // 解析网页 得到文档对象 Document doc = Jsoup.parse(content); Elements hrefElements = doc.select("a[href]");// 选择所有的a元素 for (Element e : hrefElements) { System.out.println("新闻标题:" + e.text()); System.out.println("新闻地址:" + e.attr("href")); System.out.println("------------------------"); } }
}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 wegame打不开英雄联盟
- ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
- ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
- ¥30 eclipse开启服务后,网页无法打开
- ¥30 雷达辐射源信号参考模型
- ¥15 html+css+js如何实现这样子的效果?
- ¥15 STM32单片机自主设计
- ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
- ¥15 不小心不正规的开发公司导致不给我们y码,
- ¥15 我的代码无法在vc++中运行呀,错误很多