java 获取网页指定内容-2(实践+修改)

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Arrays;

public class Weather {
 String urlString;
 String array;
 StringBuffer sb=new StringBuffer("");

 public static void main(String[] args) throws Exception {
  Weather client = new Weather("http://www.weather.com.cn/weather/101181201.shtml");
  client.run();
 }
 public Weather(String urlString) {
  this.urlString = urlString;
 }
 public void run() throws Exception {

  URL url = new URL(urlString);

  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection
    .getInputStream(),"utf8"));
  String line;

  while ((line = reader.readLine()) != null){
  Pattern p = Pattern.compile("<p class=\"wea\">(.+?)</p>");
    Matcher m = p.matcher(line);
    while(m.find()) {
        array = m.group(1);
        sb.append(array+",");
    }
  }

    String arr = sb.toString();
    String[] s = arr.split("\\,");
    System.out.println(s[s.length - 7]);

 }

}

utf8编码格式

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Arrays;

public class Weather {
 String urlString;
 String array;
 StringBuffer sb=new StringBuffer("");

 public static void main(String[] args) throws Exception {

  Weather client = new Weather("http://www.weather.com.cn/weather/101181201.shtml");
  client.run();
 }
 public Weather(String urlString) {
  this.urlString = urlString;
 }
 public void run() throws Exception {

  URL url = new URL(urlString);

  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection
    .getInputStream(),"utf8"));
  String line;

  while ((line = reader.readLine()) != null){
  Pattern p = Pattern.compile("<p class=\"wea\">(.+?)</p>");
    Matcher m = p.matcher(line);
    while(m.find()) {
        array = m.group(1);
        sb.append(array+",");//符合正则的数据追加到sb,并以逗号分割
    }
  }

    String arr = sb.toString();//sb转为字符串
    String[] s = arr.split("\\,");//字符串转为数组,以逗号为标记
    System.out.println(s[s.length - 7]);//取数组中倒数第7个数

 }

}
时间: 2024-10-30 19:53:50

java 获取网页指定内容-2(实践+修改)的相关文章

java 获取网页指定内容

import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpTest { String urlString; public static void main(String[] args) throws Exception { HttpTest client = new HttpTes

03 爬虫实例-获取网页弹幕内容

练习:爬取哔哩哔哩网页弹幕内容,并将爬取的内容以五角星的形式显示出来 思路: 向哔哩哔哩网站发送请求 请求成功后,解析爬取的弹幕内容保存到一个文件中 读取文件并分析弹幕内容中词组或文字出现的频率 将这些词组或文字组成五角星图形 组成五角星图形后,以图片的形式输出 实现: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # author:albert time:2019/10/28 4 import requests 5 from bs4 i

telnet建立http连接获取网页HTML内容

利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能. 它对于需要对http header进行观察和测试到时候非常方便.因为浏览器看不到http header. 步骤如下: telnet www.csua.berkeley.edu 80 输入GET /officers.html HTTP/1.0 并2次回车. 这时就应该可以看到http response了,包括了header和body. 因为window自己带到telnet在输入内容的时候看不到输入的内容,可以下载putty

JAVA获取txt文件内容

JAVA 读取txt文件内容 通常,我们可以直接通过文件流来读取txt文件的内容,但有时可能会出现乱码!此时只要设置一下文件字符编码即可. 1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.FileReader; 4 5 6 public class txttest { 7 /** 8 * 读取txt文件的内容 9 * @param file 想要读取的文件对象 10 * @return 返回文件内容

java解析网页的内容

有时候,我们需要在java程序中获取一个连接,然后解析连接后,获取连接返回的内容结果来解析.准确的说是解析一个链接. 以下代码时解析百度首页的链接,获取的html代码的效果: 1 public static List<String> getURLCollection(String address){ 2 List<String> list = new LinkedList<String>(); 3 try{ 4 URL url = new URL(address); 5

php利用curl获取网页title内容

<?php $url = 'http://www.k7wan.com'; echo getTitle_web_curl($url); function getTitle_web_curl($url){ $title = ''; $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLO

scrapy爬虫获取网页特定内容

上次把scrapy环境配置好了,这次试着来做些实际的东西. 关于scrapy抓取网页的文章已经有很多了,但大多数的内容已经过期,不再适用于最新的scrapy版本,故在此另作一文,记录学习过程. 目标是一个政府网站,红框内的部分. 思路很简单: 有了url之后,用xpath表达式提取出来,再写到文件里即可 如果之前没有scrapy的经验,可以先看看这两篇文章: http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.htm

C++ 与 php 的交互 之----- C++ 异步获取 网页文字内容,异步获取 php 的 echo 值。

转载请声明出处! http://www.cnblogs.com/linguanh/category/633252.html 距离上次 谈 C++ 制作json 或者其他数据传送给 服务器,时隔两个多月. 链接:http://www.cnblogs.com/linguanh/p/4340119.html 这次是从服务器上 中获取 文字内容到控制台,或者写入本地文本等操作,废话不多说,开讲. ------------------------------------------------------

C++ 与 php 的交互 之----- C++ 获取 网页文字内容,获取 php 的 echo 值。

转载请声明出处! http://www.cnblogs.com/linguanh/category/633252.html 距离上次 谈 C++ 制作json 或者其他数据传送给 服务器,时隔两个多月. 链接:http://www.cnblogs.com/linguanh/p/4340119.html 这次是从服务器上 中获取 文字内容到控制台,或者写入本地文本等操作,废话不多说,开讲. ------------------------------------------------------