PHP 抓取新浪讀書頻道的小說并生成txt電子書的代碼
更新時間:2009年12月18日 22:08:03 作者:
想看什么電子書,先去新浪讀書搜索,然后填入對應(yīng)的參數(shù)即可
復(fù)制代碼 代碼如下:
/* Author: Yang Yu <yangyu@sina.cn> */
//想看什么電子書,先去新浪讀書搜索,然后填入對應(yīng)的參數(shù)即可
//http://vip.book.sina.com.cn/
//電子書參數(shù)
$array_book[0] = 38884; //小說id
$array_book[1] = 22172; //章節(jié)起始id
$array_book[2] = 32533; //章節(jié)結(jié)束id
$array_book[3] = '中國特種部隊生存實錄:狼牙'; //小說名字
//匹配參數(shù)
$title_pre = "/<h1>(.*?)<\/h1>/"; //標(biāo)題部分
$contents_pre = "/<div id=\"contTxt\" class=\"contTxt1\">(.*?)<\/div>/"; //內(nèi)容部分
//生成電子書
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.'節(jié)抓取完畢< /br>';
}
fclose($fh);
}
您可能感興趣的文章:
- php pthreads多線程的安裝與使用
- 使用pthreads實現(xiàn)真正的PHP多線程(需PHP5.3以上版本)
- php結(jié)合curl實現(xiàn)多線程抓取
- PHP使用CURL實現(xiàn)多線程抓取網(wǎng)頁
- PHP多線程抓取網(wǎng)頁實現(xiàn)代碼
- php利用curl抓取新浪微博內(nèi)容示例
- PHP CURL模擬登錄新浪微博抓取頁面內(nèi)容 基于EaglePHP框架開發(fā)
- PHP實現(xiàn)采集抓取淘寶網(wǎng)單個商品信息
- PHP實現(xiàn)抓取HTTPS內(nèi)容
- php使用pthreads v3多線程實現(xiàn)抓取新浪新聞信息操作示例
相關(guān)文章
php+jQuery.uploadify實現(xiàn)文件上傳教程
這篇文章主要介紹了php+jQuery.uploadify實現(xiàn)文件上傳教程,需要的朋友可以參考下2014-12-12
Laravel學(xué)習(xí)筆記之Artisan命令生成自定義模板的方法
這篇文章主要介紹了Laravel學(xué)習(xí)筆記之Artisan命令生成自定義模板的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
thinkphp5 + ajax 使用formdata提交數(shù)據(jù)(包括文件上傳) 后臺返回json完整實例
這篇文章主要介紹了thinkphp5 + ajax 使用formdata提交數(shù)據(jù)(包括文件上傳) 后臺返回json操作,結(jié)合實例形式分析了thinkphp5 + ajax 使用formdata提交數(shù)據(jù)、文件上傳與后臺返回json遇到的相關(guān)問題即解決方法,需要的朋友可以參考下2020-03-03

