php 豆瓣抓取,PHP抓取豆瓣读书爬虫代码
//演示地址 http://asizu.sinaapp.com/reptile_douban.php
//數(shù)據(jù)量不是特別大,沒有寫抓完數(shù)據(jù)便停止。 喜歡的朋友拿去自己改改就好了header("Content-Type:text/html;charset=utf-8");define("MYSQL_HOST",SAE_MYSQL_HOST_M);define("MYSQL_NAME","douban");define("MYSQL_USER",SAE_MYSQL_USER);define("MYSQL_PASSWORD",SAE_MYSQL_PASS);define("MYSQL_PORT",SAE_MYSQL_PORT);$action = $_GET[‘url‘];if(!empty($action))
{$data = getLink($action);$data = str_substr(‘
‘,‘‘,$data);$dataArray = explode(‘{$bookArray[$key][‘title‘] = str_substr(‘class="title" target="_blank">‘,‘‘,$item);$bookArray[$key][‘rating‘] = str_substr(‘‘,$item);$bookArray[$key][‘book_id‘] = str_substr(‘/subject/‘,‘/?from‘,$item);if(!selectBookSaveed($bookArray[$key][‘title‘]))
{
insertMysql($bookArray[$key]);
}//$dataArray[$key] = htmlspecialchars($item);
}$page = explode(‘book?start=‘,$action);$new_url = $page[0] ."book?start=". ($page[1] + 15);//var_dump($page);
// var_dump($bookArray);
}//獲取連接
function getLink($url)
{$data = getData($url);return $data;
}//抓取數(shù)據(jù)的函數(shù)
function getData($url)
{//初始化
$ch =curl_init();//設(shè)置選項(xiàng),包括URL
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_USERAGENT,‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11‘);//執(zhí)行并獲取HTML文檔內(nèi)容
$output = curl_exec($ch);//釋放curl句柄
curl_close($ch);//返回?cái)?shù)據(jù)
return $output;
}//保存入庫
function insertMysql($dataArray)
{$field = "";$value = "";foreach($dataArray as $key => $item)
{$field .= ",".$key;$value .= ",‘".$item."‘";
}$field = substr($field,1,strlen($field)-1);$value = substr($value,1,strlen($value)-1);$sql = "INSERT INTO douban (".$field.") VALUES(".$value.")";//var_dump($sql);
// exit;
$result = mysqlOperation($sql);return $result;
}//查詢是否已經(jīng)錄入
function selectBookSaveed($title)
{$sql = "SELECT * FROM douban WHERE title = ‘".$title."‘";$result = mysqlOperation($sql,"select");if(empty($result))
{return false;//未存在
}return true;
}//數(shù)據(jù)庫操作方法
function mysqlOperation($sql,$method = "query")
{$mysqli = newmysqli(
SAE_MYSQL_HOST_M,SAE_MYSQL_USER,SAE_MYSQL_PASS,SAE_MYSQL_DB,SAE_MYSQL_PORT
);if( mysqli_connect_errno() )echo ‘error‘;//return false;
if($method == "select")return mysqli_fetch_assoc($mysqli->query($sql));if($method == "query")return $mysqli->query($sql);
}//字符串截取函數(shù)
function str_substr($start, $end, $str)
{$temp = explode($start, $str, 2);$content = explode($end, $temp[1], 2);return $content[0];
}?>
$("#froms").submit();
}
});
總結(jié)
以上是生活随笔為你收集整理的php 豆瓣抓取,PHP抓取豆瓣读书爬虫代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2GHz Atom处理器 诺基亚N9
- 下一篇: 利用weevely生成php后门木马