PHP抓取新浪读书频道的小说,生成电子书
//想看什么电子书,先去新浪读书搜索,然后填入对应的参数即可
//http://vip.book.sina.com.cn/
//电子书参数
$array_book[0] = 38884; //小说id
$array_book[1] = 22172; //章节起始id
$array_book[2] = 32533; //章节结束id
$array_book[3] = '中国特种部队生存实录:狼牙'; //小说名字
//匹配参数
$title_pre = "/<h1>(.*?)<\/h1>/"; //标题部分
$contents_pre = "/<div id=\"contTxt\" class=\"contTxt1\">(.*?)<\/div>/"; //内容部分
//生成电子书
for( $i = $array_book[1]; $i <= $array_book[2]; $i++){
$url = "http://vip.book.sina.com.cn/book/chapter_{$array_book[0]}_{$i}.html";
$html = file_get_contents($url);
preg_match_all($title_pre,$html,$title);
preg_match_all($contents_pre,$html,$contents);
$fh = fopen($array_book[3].'.txt','a+');
$write_contents = $title[1][0]."\r\n".str_replace('</p>',"\r\n",str_replace('<p>',' ',$contents[1][0]))."\r\n";
if( fwrite($fh,$write_contents) ){
echo '第'.$i.'节抓取完毕< /br>';
}
fclose($fh);
}
相关文档:
php 中生成随机字符串的方法
2009-10-20 13:56
在一些特殊应用中,需要生成随机字符串,比如生成系统随机密码或者是登陆验证码等,本文介绍的函数能够返回指定长度的随机字符串,默认包含大小写字母和数字,你可以很容易的修改以便符合自己的需要。
<?php
// 说明:php 中生成随机字符串的方法
// 整理:http://ww ......
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$ _POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为 register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【 ......
转贴自: http://hi.baidu.com/isnono/blog/item/3c94ea11a54a0fc7a7ef3f94.html
经常在CSDN的PHP论坛上看到有朋友问处理在线用户的问题,我写过类似的代码,就拿出来献丑了,有点垃圾,基本上实现了功能, 同是也能够扩展,比如同时只允许一个帐号在线等。
/*
程序用途:检测在线用户
程序作者:heiyeluren
写作时间 ......
java中时间戳和时间字符串之间的转换
获取当前的unix时间戳
new Date().getTime()
System.currentTimeMillis()
返回的是毫秒数,要转换long t = System.currentTimeMillis()/1000;
获取当前年月日以及时分秒
Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)) c.get(Calendar.YEAR)) c.get(C ......
之前的程序中,在服务器 error_log 中一直有这么一个错误提示:
[19-Nov-2009 22:44:50] PHP Fatal error: Cannot break/continue 1 level in /home/filename.php on line 160
但程序还是可以继续执行下去。
经查阅资料,有这么一说法:
当不在 LOOP 或 SELECT 逻辑条件中时,请不要用 break/continue 来中 ......