文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>下载并生成电子版新民晚报的脚本

下载并生成电子版新民晚报的脚本

时间:2006-01-12  来源:WillsonZhang

  • 说明
    偶然机会,我发现在《新民晚报》的网页上提供了pdf格式的电子版报纸的下载和浏览。但是,网页上提供的是分离的每一个版面的报纸的链接。比如说,今天的 报纸有48版,那网页上就提供了48个链接,每个链接就是一个版面的pdf电子文件。这样的话,看起来不是很方便。我从网上找到了一个可以将多个pdf文 件连接成一个大pdf文件的软件。用这个软件,就可以实现每天的电子版报纸就是一个文件。
    我写了一个脚本程序,这个脚本程序完成三个任务:1、下载一天所有版面的单独的pdf文件到一个目录中。这个用wget程序就可以完成。2、将所有的文件 拼成一个大的pdf文件,文件名为报纸出版日期,如2005年12月30日的报纸,文件名就取20051230.pdf。3、如果还有这天以前的报纸没有 下载,就依次下载以前的报纸。
  • 程序清单
#!/bin/sh
#
CURHOUR=`date +%H`
PARENT_DIR=$HOME
DIR_PREFIX=$PARENT_DIR/xmwb.news365.com.cn/pdf
JAVA_EXEC=/usr/bin/java

if [ $# -gt 0 ]; then
# parameters found, it specify the date we should deal with.
NOW_DAY=$1
NOW_DAY2=`date -d "$NOW_DAY" +%F`
else if [ $CURHOUR -gt 12 ]; then
# today's newspaper is only uploaded to web after noon.
        NOW_DAY=`date +%Y%m%d`
        NOW_DAY2=`date +%F`
 else
# today's newspaper has not been uploaded to web,
# we can only download yesterday's newspaper.
        NOW_DAY=`date -d "yesterday" +%Y%m%d`
        NOW_DAY2=`date -d "yesterday" +%F`
 fi
fi

i=0
until [ -d $DIR_PREFIX/$NOW_DAY ]
do
# the directory does not exist, we assume the download is not
# performed, otherwise,we think the newspaper has been
# downloaded before.
        cd $PARENT_DIR
        wget -o $DIR_PREFIX/wget.log -r -l 2 -R *.exe \
 http://xmwb.news365.com.cn/pdf/default.asp\?nowDay\=$NOW_DAY
# merge all pdf sheets into one big pdf file.
        cd $DIR_PREFIX/$NOW_DAY
# The file with the smallest name contains the cover page.
        COVERNAME=`ls|sort|head -1`
        mv $COVERNAME ${NOW_DAY}.pdf

        $JAVA_EXEC -classpath $HOME/bin/Multivalent20040415.jar tool.pdf.Merge -append ${NOW_DAY}.pdf xm*.pdf
        rm xm*.pdf
        rm -rf $DIR_PREFIX/default.*
        i=`expr $i + 1`
# Deal with the day before current day.
        NOW_DAY=`date -d "$NOW_DAY2 -$i day" +%Y%m%d`
done

    在这里,要用到拼接pdf文件的软件,这个软件是用java写的,我从internet上查到的,网址是http://multivalent.sourceforge.net/。
    我把这个脚本放在crontab中,每天定时(上午9:30和下午4:30)运行一下,用这种方法,我收集了2005年全年的新民晚报电子版,它的排版方式和实际报纸是一样的,用大屏幕显示器看的话很爽。

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载