获取网页数据的例子

  最近,1元购物比较火,这种众筹形式的购物,购买者出很小的费用,就能获得一个得到喜欢的物品。有人说这是个骗局,也有人趋之若鹜的每天在上面购物,这里不做评论。网易也做这个模式,名字是1元云购,1元夺宝。

  网易云购 www.1yyg.com的网站上顶部有个累计参与人次的统计,对这个比较好奇,想着统计一个时间段参与人次的变化。

  

  打开网站,加载页面的过程中,打开调试,查看network,注意不断重复的请求:

  

  上面标注的这个请求不断的发送,网页上实时变化也就累计参与人次的统计,这样就确定了请求。

  打开这个请求的网址后:

  

  这明显是jsonp嘛,那就尝试着网页上获取下,每1s钟显示一次:

  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
      <meta charset="utf-8">
     <style>
     li{list-style-type:none;}
     </style>
     <title>jsonp测试例子</title>
      <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>
      <script type="text/javascript">
     jQuery(document).ready(function(){
     //定义getdata()函数
        function getdata(){
             $.ajax({
             type: "get",
             async: false,
             url: "http://api.1yyg.com/JPData?action=totalBuyCount",
             dataType: "jsonp",
             jsonp: "fun",
             jsonpCallback:"jsonp",
             success: function(data){
                 var html = ‘‘;
                    html+=‘<li>‘+data[‘count‘]+‘</li>‘;
                 $("#remote").append(html);
             },
             error: function(){
                 alert(‘fail‘);
             }
             });
            }
            setInterval(getdata,1000);//每隔一秒执行getdata函数。
     });
     </script>
     </head>
  <body>
  远程数据如下:<br/>
  <div id="remote"></div>
  </body>
 </html>

  效果:

  

  可以发现其中的规律,没5分钟后台更新一次。

  当然,可以用Java爬网页的方式这个数据。

  

package worktest;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;

public class TaskDemo1 {
	public static void main(String [] args){
		  TimerTask task = new TimerTask() {
		      @Override
		      public void run() {
		    	fn();
		        System.out.println("Hello !!!");
		      }
		    };
		  long delay = 0;
		  long Period = 60 * 1000;
		  Timer timer = new Timer();
		  timer.scheduleAtFixedRate(task, delay, Period);
	}

	public static void fn(){

		File file = new File("E:\\data\\data.txt");
		FileWriter fw = null;
		String str = null;
		String s = null;
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
		String s1 = df.format(new Date())+"   ";

		try {
			URL url = new URL("http://api.1yyg.com/JPData?action=totalBuyCount&fun=jsonp1456738798703&_=1456738803768");
			Scanner in = new Scanner(url.openStream());
			while (in.hasNextLine()) {
				 str = in.nextLine();

				 String[] s2 =str.split(":");
				 String[] s3 = s2[2].split(",");
				 String s4 = s3[0];
				 s = s1 +s4+"\r\n";
			}
			fw = new FileWriter(file, true);
			fw.write(s);

		} catch (Exception e) {
			System.out.println(e.toString());
		} finally {
			if (fw != null)
				try {
					fw.close();
				} catch (IOException e) {
					throw new RuntimeException("关闭失败!");
				}
		}

	}

}

  获取到数据后,可以进行分析。

  如有侵犯到1元云购,请联系我,我会及时删除!

时间: 2024-10-12 13:07:22

获取网页数据的例子的相关文章

[原创]利用爬虫技术获取网页数据,以及想要的指定数据

最近在公司做个系统,由于要获取网页的一些数据,以及一些网页的数据,所以就写的一个公用的HttpUtils.下面是针对乌云网我写的一个例子. 一.首先是获取指定路径下的网页内容. public static String httpGet(String urlStr, Map<String, String> params) throws Exception { StringBuilder sb = new StringBuilder(); if (null != params &&

【转】如何在Windows+VS2005使用最新静态libcurl 7.35.0获取网页数据,支持HTTPS

地址: http://blog.csdn.net/hujkay作者:Jekkay Hu([email protected])关键词:Windows,curl,ssl,  visual c++ 2005, libcurl, https,网页抓取时间: 2014/2/18 1. 概述 由于Curl提供强大的网络功能,支持HTTP,HTTPS, DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法

在php中分别使用curl的post提交数据的方法和get获取网页数据的方法整理分享一下额,具体代码如下: (1)使用php curl获取网页数据的方法: $ch=curl_init(); //设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.nettuts.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); //执行

使用HttpClient进行Get方式通信(使用HttpGet获取网页数据)

1.项目结构 导入jar包 jar包去官网下载解压后项目新建lib目录,将解压包中的lib目录中的zip拷入项目lib目录文件夹,然后build path-->配置到项目中 2.TestGet.java package testhttpclient; import java.io.IOException; import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.cli

VB中获取网页数据

以下是在Microsoft Visual Basic 6.0 中文版下做的 VB可以抓取网页数据,所用的控件是Inet控件. 第一步:单击工程-->部件 选择Microsoft Internet Transfer Control(SP6)控件. 第二步:布局界面显示 在界面里面拖动相对应的控件. 第三步 编码开始 Option Explicit Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "请输

获取网页数据

描述: 将网页数据导入到表格中,在日常工作中经常会用到,此法的好处是省去了手动敲入的时间,如何快速的将网页数据导入到表格中成为了一个焦点问题,下面与大家 分享个比较常用的方法,大概的步骤就是调出新建WEB查询界面,输入网址并转到相应的页面,点击导入,然后等待.....接着设置导入数据的位置单元格, 确定即可.此法只能导入网页文字,图片是无法导入的. 步骤: Step 1:启动Excel2013,单击菜单栏--数据--获取外部数据--自网站. Step 2:弹出新建WEB查询界面,输入网站地址,转

C# 获取网页数据、获取本机IP

说明: (1) http://www.3322.org/dyndns/getip 这个网址可以获取本机IP,读取的内容就是本机IP (2)方法经测试,可以实现. (3)参考:http://www.cnblogs.com/ceachy/articles/CSharp_Retrive_Page_Document.html 两种方法: (1)使用WebClient private static string GetIP(String url) { WebClient MyWebClient = new

C#获取网页数据的两个函数

1.获取网页源码函数 1 string getPageText(string url) 2 { 3 string retVal = ""; 4 dtUpdate = DateTime.Now; 5 labMessage.Text = ""; 6 int pageNo = 1; 7 string strUrl = ""; 8 do 9 { 10 try 11 { 12 using (var wc = new WebClient()) 13 { 14

Qt5 http协议 获取网页数据

一.HTTP协议 Qt网络模块提供的API可以实现基于HTTP(Hyper Text Transport Protocol)协议的应用程序.此外, Qt还可以实现多种基于 协议的应用程序, 如位于OSI 7层应用层的FTP.DNS.SNMP. Qt4.x版本提供了QHttp和QFtp类以支持HTTP和FTP协议.从Qt 5.0 版本开始, 删除了QHttp 和 QFtp 类, 通过QNetworkReply .QNetworkAccessManager.QNetworkRequest类实现基于H