用java写的一个数据爬取程序,前几天还运行的好好的,今天运行就显示页面载入错误,以下是控制台输出信息
创建一个javabean,命名为GetDate.java;
GetDate.java代码如下:
package com.JavaBean;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class GetDate
{
public String getDate()
{
Calendar cal=Calendar.getInstance();//-0代表0天前这个时候的时间
cal.add(Calendar.DAY_OF_YEAR,-0);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowtime=sdf.format(cal.getTime());
return nowtime;
}
}
在你的JSP页面里面导入这个类,导入这个类的代码是:
再在JSP页面里创建这个类的对象。代码如下:
用这个对象里的方法获取时间,代码如下
再显示,代码如下:
朋友试试,这是本人现写的,,我试过了没什么问题。
本来昨天就给你写好了,结果断网了没法提交,今天提交上来
主要写了两个类,Person类封装数据,PhoneBook类封装操作方法
1.封装数据Person.java
public class Person {
private String name;
private String number;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
2.封装操作方法 PhoneBook.java
按照姓名或号码查找、删除、修改,显示所有,添加Person对象
import java.util.Vector;
public class PhoneBook {
Vector phooeBookVector=new Vector();
//按照姓名查找电话本
public Person queryByName(String name) {
for (Person person : phooeBookVector) {
if (person.getName().equals(name)) {
return person;
}
}
return null;
}
//按照号码查找电话本
public Person queryByNumber(String number) {
for (Person person : phooeBookVector) {
if (person.getNumber().equals(number)) {
return person;
}
}
return null;
}
//显示所有电话本记录
public void displayAll() {
for (Person person : phooeBookVector) {
System.out.print("姓名:"+person.getName());
System.out.println("号码:"+person.getNumber());
}
}
//按照姓名删除电话本
public boolean delByName(String name) {
for (Person person : phooeBookVector) {
if (person.getName().equals(name)) {
phooeBookVector.remove(person);
return true;
}
}
return false;
}
//按照号码删除电话本
public boolean delByNumber(String number) {
for (Person person : phooeBookVector) {
if (person.getNumber().equals(number)) {
phooeBookVector.remove(person);
return true;
}
}
return false;
}
//以姓名修改电话本
public boolean updateByName(String name,Person person) {
for (Person tmpPerson : phooeBookVector) {
if (tmpPerson.getName().equals(name)) {
phooeBookVector.remove(tmpPerson);
phooeBookVector.add(person);
return true;
}
}
return false;
}
//以号码修改电话本
public boolean updateByNumber(String number,Person person) {
for (Person tmpPerson : phooeBookVector) {
if (tmpPerson.getNumber().equals(number)) {
phooeBookVector.remove(tmpPerson);
phooeBookVector.add(person);
return true;
}
}
return false;
}
//添加Person本到Vector
public boolean addPhoneBook(Person phoneBook) {
return this.phooeBookVector.add(phoneBook);
}
//获取Person对象
public Vector getPhoneBook() {
return this.phooeBookVector;
}
}
3.一个简单的测试类,由于方法太多没有完全测试
import java.util.Scanner;
public class PhoneBookTest {
/**
* @param args
*/
public static void main(String[] args) {
PhoneBook phoneBook = new PhoneBook();
Scanner sc = new Scanner(System.in);
// 自动循环添加10条记录
for (int i = 0; i < 10; i++) {
Person person = new Person();
person.setName("woaibb2005_" + i);
person.setNumber("12345678" + i);
phoneBook.addPhoneBook(person);
}
//手动循环添加5条记录
for (int i = 0; i < 5; i++) {
Person person = new Person();
System.out.println("输入姓名"+i+":");
person.setName(sc.next());
System.out.println("输入号码"+i+":");
person.setNumber(sc.next());
phoneBook.addPhoneBook(person);
}
// 显示出所有记录
phoneBook.displayAll();
// 按照姓名查找
Person testBook = new Person();
testBook = phoneBook.queryByName("woaibb2005_5");
if (null != testBook)
System.out.println("testBook:" + testBook.getName() + "|"
+ testBook.getNumber());
else
System.out.println("没有该条记录");
// 按照号码删除
boolean delResult = phoneBook.delByNumber("123456783");
if (delResult)
System.out.println("删除成功");
else
System.out.println("删除失败");
// 删除后查询123456783记录
testBook = phoneBook.queryByNumber("123456783");
if (null != testBook)
System.out.println("testBook:" + testBook.getName() + "|"
+ testBook.getNumber());
else
System.out.println("没有该条记录");
}
}
编写一个java类,控制台输出1,1,2,3,5,8,13
importjava.util.ArrayList;importjava.util.List;\/ 输出斐波那契数列。author老紫竹 \/ publicclassTT{ privateList<Integer>list=newArrayList<Integer>();publicTT(intnumber){ list.add(1);list.add(1);for(inti=2;i<=number;i++){ list.add(list.get(i-1)+list.get(i-2));} } publicSt...
Java中,定义一个1~100的数据,存放进数组,并遍历它。
1、定义一个大小是100的数组 int arr[]=new int[100];\/\/定一个100大小的整型数组2、循环赋值1-100的数 for(int i=1;i<=100;i++){ arr[i-1] = i;\/\/赋值1-100的数}3、遍历数组 for(int i=0;i<arr.length;i++){\/\/数组最大值是arr.length,循环遍历数组 System.out.println...
Java用Math.random()生成一个50-100间的整型随机数
public static void main(string[ ] args) { int num =(int) (Math.random( )*50+50) ;system.out.println(num);} } random产生的是(0,1)的小数。如果想要产生50--100之间的数字;先让它产生[0--50)之间的数字,也就是 random()*50 然后在后面加上50,也就是random()*50+50;得...
用Java写一个程式,计算1+2+3+N的值
int main(void){ double s = 0;int i = 1;for(i = 1;i<100;i++){ s += ((double)1)\/(i*(i+1));} printf("s = %lf",s);} 用java写一个程式计算(1+2)+ (2*2+3*2)+ (3*4 + 4*4) + (4*6 + 5*6) +.+(n*m + (n+1)*m) n<10 public class Test ...
在java中怎样编写(输入一个自然数,求N!)
import java.util.Scanner;public class Test { public static void main(String[] args){ Scanner in=new Scanner(System.in);int n;System.out.print("请输入一个自然数:");try{ n=in.nextInt();if(n<=0){ System.out.println("输入错误!");return;} System.out.println(n+"!="+...
用JAVA编写一个有理数求和1\/1+1\/2+1\/3...1\/n,要求其结果用最简分数表示...
import java.math.BigDecimal;\/ 计算 1\/1+1\/2+1\/3+1\/4+...+1\/n=?由于我想算比较大的数,所以用BigDecimal代替int (可以看到我例子里是用n=1000)另外为了排版好看,我在前面加了一些符号 \/ public class Main { \/\/ 求a、b最大公约数 public static BigDecimal gcd(BigDecimal a, BigDecima...
java如何产生1-10随机数
int random=(int)(Math.random()*10+1)java代码方法二如下:package bdqn_Empy;import java.util.Random;public class Text { \/*** @param args*\/public static void main(String[] args) {\/\/ TODO Auto-generated method stubint a=0;Random b=new Random();a=b.nextInt(101);System....
用JAVA编一个程序,很基本的,帮忙一下,课堂作业。 1)程序随机分配给客户...
public class AddTest { public static void main(String args[]){ boolean flag = true;while(flag){ Scanner scanner = new Scanner(System.in);System.out.println("请输入一个1-100的整数");\/\/input 是接收控制台输入的整数 int input = scanner.nextInt();\/\/创建一个随机数对象 Random r...
跪求编写一个JAVA程序,求出1~100之间所有能被3整除的整数和
publicclassFloraLinlin{ publicintsumTotal(){ inttotal=0;for ( int i = 0; i <=100; i++ ){ if(imod3==0){ total=total+i;} } returntotal;} }
java程序编写:使用Math类提供的随机数生成方法,产生一个1~100的随机...
这个是我写的一个产生0-100的随机数的程序,当然数的范围你可以自己定 Math.round(Math.random()*100),后面这个100你可以改成你自己想要的数 import javax.swing.*;import java.awt.event.*;public class RandomUsage extends JFrame implements ActionListener { JButton bt=new JButton("随机数"...
尤苗联磺: 最近刚好在学这个,对于一些第三方工具类或者库,一定要看官方tutorial埃 学会用chrome network 分析请求,或者fiddler抓包分析. 普通的网页直接用httpclient封装的API就可以获取网页HTML了,然后 JSoup、正则 提取内容.
固始县19894275034: 如何使用java编写一个从指定的TXT文件每行固定位置抓取数据并生成一个xls表自动保存的程序? - ?
尤苗联磺: 简单的给你说一下:1、获取输入流,可以遍历循环读取每一行数据2、对读取的数据进行拆分,得到你需要的数据,并存储3、把存储的数据写入excel
固始县19894275034: 用java编写 网络爬虫求代码和流程 急 - ?
尤苗联磺: import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.util.*; import java.util.regex.*; import javax.swing.*; import javax.swing.table.*;//一个Web的爬行者(注:爬行在这里的意思与抓取,捕获相同) public class ...
固始县19894275034: java怎么爬取指定网页的数据 - ?
尤苗联磺: 把下面代码复制到文本文档中,然后将文本文档改成".html"形式这个是提取表格中的数据的方法,看看是你想要的不NewDocument
固始县19894275034: 用java编写一个应用程序,读取一个文本的内容. - ?
尤苗联磺: import java.io.*; public class Input {public static void main(String[] args) throws Exception{FileInputStream fis = new FileInputStream("D:/abc.txt");//把字符输入流转换成字节流,并且套上缓冲流管子BufferedReader buf = new ...
固始县19894275034: Java数据爬取,HtmlUnit,京东,爬虫脚本 - ?
尤苗联磺: 看看JS里请求的URL是否有请求第几页的参数,改变此参数就可以获得全部页面的商品了
固始县19894275034: 用java写爬虫程序,有个网站获取不到链接,求指导 - ?
尤苗联磺: //读取网页上的内容方法---------------------2010.01.25 public String getOneHtml(String htmlurl) throws IOException { URL url; String temp; final StringBuffer sb = new StringBuffer(); try { url = new URL(htmlurl); // 读取网页全部内容 final BufferedReader ...
固始县19894275034: 如何用java实现网络爬虫抓取页面内容 - ?
尤苗联磺: 通过类 访问你所拥有的网址 用流获得网页内容 然后 你用正则表达式获取 你所要的内容 分页 那 你把分页的url抓出来 重复前面的工作
固始县19894275034: java 取字符串第一个分号前数据 - ?
尤苗联磺: public class MyTest {public static void main(String[] args){String str = "x1;x2;x3";//按 ';'分割成字符串数组String[] strs = str.split(";");//第一个分号之前的字符串自然就是数组里的第一个System.out.print(strs[0]); //打印出 x1} }
固始县19894275034: java写网络爬虫,如何爬取在同一个网页中,但是已经被隐藏的div(需要点击显示更多) - ?
尤苗联磺: 这种是用js实现的.所以后面的内容实际上是动态生成的,网络爬虫抓取的是静态页面.至于解决办法,网上有几种:一种是使用自动化测试工具去做,比如selenium,可以模拟点击等操作,但是这个其实和爬虫还是有很大区别的.二是利用特定的类库在后端调用js,python的倒是有,但是java的我就不清楚了.三是自己找到相关的页面的js代码,分析出来相关的请求url,直接调新的url就行了,但是一般的js都是加密压缩的,但是你可以试试.