📄 beginpage.java
字号:
/*
* *****************************************************
* Copyright (c) 2005 IIM Lab. All Rights Reserved.
* Created by xuehao at 2005-10-12
* Contact: zxuehao@mail.ustc.edu.cn
* *****************************************************
*/
package org.indigo.pages;
/**
* 对模板配置中的开始部分进行了封装,
* 如起始url,起始页码,要采集的页码数,每次采集递增页码数等。
* @author wbz
*
*/
public class BeginPage
{
protected String itsBeginUrl=null, itsBaseUrl=null;
protected int pNum=1,endPNum=10,incPNum=1;
protected final int OUTFLOWLINK=-1;
protected boolean onlyOne=false;
protected String itsKeyForLink = null;
/**
* 通过指定在url中关键字进行构造此类。
* @param key
*/
public BeginPage( String key )
{
if( key.endsWith("=") )
itsKeyForLink = key;
else
itsKeyForLink = key + "=";
}
/**
* 设置起始的url。
* @param url
*/
public void setBeginUrl( String url )
{
// if( itsBeginUrl==null )
itsBeginUrl = url;
}
/**
* 设置起始页码。
* @param i
*/
public void setStartPNum(int i)
{
pNum = i;
}
/**
* 设置结束页码。
* @param i
*/
public void setEndPNum(int i)
{
endPNum = i;
}
/**
* 设置采集时的递增页码数。
* @param i
*/
public void setIncPNum(int i)
{
incPNum = i;
}
/**
* 一次设置起始页码,结束页码,和每次递增页码数。
* @param start
* @param end
* @param inc
*/
public void setParameters( int start, int end, int inc )
{
setStartPNum( start );
setEndPNum( end );
setIncPNum( inc );
}
// protected String buildLink( int pNum, String key )
/**
* 在进行下一页的采集时生成新的url的方法。
*/
public String buildLink( int pNum, String key )
{
String link=null;
link = getBeginUrl();
int i;
i = link.indexOf( key );
if(i==-1&&!onlyOne)
{
onlyOne=true;
return link;
}
if( i==-1 &&onlyOne)
return null;
i = i+key.length();
String subStr1=null,subStr2=null;
subStr1 = link.substring( 0, i );
subStr2 = link.substring( i );
if( subStr2.equals("") )
{
link = subStr1+pNum;
return link;
}
i = 0;
char ch;
ch = subStr2.charAt(i);
for( i=0; i<subStr2.length(); i++ )
{
ch = subStr2.charAt(i);
if( !Character.isDigit( ch ) )
break;
}
subStr2 = subStr2.substring( i );
link = subStr1 + pNum + subStr2;
return link;
}
/**
* 获取当前页码。
* @return
*/
protected int getCurrentPNum()
{
return pNum;
}
/**
* 获取下一页的页码。
* @return
*/
protected int getNextPNum()
{
pNum += incPNum;
if (pNum > endPNum)
pNum = this.OUTFLOWLINK;
return pNum;
}
/**
* 获取起始的url。
* @return
*/
protected String getBeginUrl()
{
return itsBeginUrl;
}
/**
* 设置基url。
* @param url
*/
private void setBaseUrl( String url )
{
if( itsBaseUrl==null )
itsBaseUrl = url;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -