php采集网站中图片,保存到本地,并添加入库

装B,小青年。。。 2018-01-11 09:16:16
<?php
/**
* 此方法由QueryList采集得到 只需修改路径即可!
* 用PDO入库(有兴趣的同学可自行封装一个类,来进行调用)
*/
header("content-type:text/html;charset=utf8");

//图片下载方法
function dlfile($file_url){
$content = file_get_contents($file_url);
$save_to='./images/'.date('Y').'/'.date('m').'/'.date('d').'/';
is_dir($save_to)or mkdir($save_to,0777,true);
$save_to.=time().'-'.rand(1000,9999).substr($file_url,strrpos($file_url,'.'));
file_put_contents($save_to, $content);
return $save_to;
}
//引入文件
require "../../querylist/phpQuery.php";
require "../../querylist/QueryList.php";
use QL\QueryList;

$url = "http://news.ifeng.com/mainland/";
//采集规则
$rules = array(
//标题
"news_title" => array( ".juti_list h3 a","text"),
//连接
"news_url" => array( ".juti_list h3 a","href"),
//图片
"news_img" => array( ".juti_list .ju_pic a img","src"),
//Jianjie
"news_content" => array( ".juti_list .clearfix p","text"),
//时间
"news_time" => array( ".juti_list .ping03 span","text"),
);

$data = QueryList::Query($url,$rules)->data;

foreach ($data as $k => $v) {
if(!isset($v['news_img'])){
unset($data[$k]);
continue;
}
$data[$k]['news_img']=dlfile($v['news_img']);
}
//print_r($data);die;
$pdo = new PDO("mysql:host=127.0.0.1;dbname=diqiyue",'root','root');
foreach ($data as $key => $v) {
$sql = "insert into `news`(news_title,news_url,news_img,news_content,news_time) values('$v[news_title]','$v[news_url]','$v[news_img]','$v[news_content]','$v[news_time]')";
$res = $pdo -> exec($sql);
}
if ($res) {
echo "<script>alert('添加成功!');location.href='show.php';</script>";
}else{
echo "<script>alert('添加成功!');</script>";
}
//print_r($data);
?>
...全文
525 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧