php抓取开奖网页内容(前两天想写一段自动提取微博状态的代码布布扣,)

优采云 发布时间: 2021-09-13 04:00

  php抓取开奖网页内容(前两天想写一段自动提取微博状态的代码布布扣,)

  我想写一个代码,自动提取前两天微博状态。据我所知,这个函数可以用 PHP 或 Java 编写。我觉得用Java写调试比较方便,需要上传PHP脚本到服务器什么的。

  代码很简单,新建一个包URL类对象,使用这个url作为写入源,将内容存放在一个字符串中。然后创建一个新文件并写出字符串。但是请注意,不同的网站 使用不同的编码字。现在大多数网站 使用utf-8 字符编码,而建立在wordpress 上的网站 使用这种编码字符。但是很多中文网站,包括网易等门户网站,仍然使用gb2312编码。一方面,gb2312的历史比utf-8还要长。早期的中文网站是用gb2312构建的,现在修改工作量太大;另一方面,要显示相同长度的文本内容,使用gb2312编码比utf-8编码时节省空间。由于这种差异,您在输入网页的html代码时应该选择正确的阅读方式。 java输入流构造函数可以选择utf-8作为参数,但是没有gb2312选项。因此,在抓取网易网页时,保存的文档中会出现乱码。

  另外,这个例子只是抓取静态网页内容,对于微博的状态还是不太好,因为要抓取状态,必须先登录账号,所以需要参考新浪的API文档.

  import java.beans.FeatureDescriptor;

import java.io.*;

import java.net.*;

public class spider {

/**

* @param args

*/

public static String fetchWebpage(String urlname){

URL url;

String s;

StringBuffer sbuffer = new StringBuffer();

try{

url = new URL(urlname);

// my website use utf-8, but some other websites, like 163 and baidu, use gb2312.

InputStreamReader sreader = new InputStreamReader(url.openStream(),"utf-8");

BufferedReader breader = new BufferedReader(sreader);

while((s=breader.readLine())!=null){

sbuffer.append(s);

}

breader.close();

}catch(Exception e){

e.printStackTrace();

}

return sbuffer.toString();

}

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

// TODO Auto-generated method stub

String address = "http://www.mr-naive.com";

FileOutputStream fos = new FileOutputStream(new File("myPage.html"));

OutputStreamWriter oswrite = new OutputStreamWriter(fos, "utf-8");

BufferedWriter bwriter = new BufferedWriter(oswrite);

bwriter.write(fetchWebpage(address));

bwriter.close();

}

}

  Java抓取网页内容,布按钮,

  Java 抓取网页内容

  原文:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线