php怎么采集新闻列表?

php怎么采集新闻然后写入数据库?不要回复理论,求代码... php怎么采集新闻然后写入数据库?不要回复理论,求代码 展开
 我来答
skyover
2015-07-22 · TA获得超过258个赞
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:90.3万
展开全部

还是我回答,呵呵,你确定不要理论只要代码?mysql会配置吧?给你代码,之后你自己把mysql连接信息里的连接地址,用户名,密码,数据库名改成自己的就可以了

<?php

$mysql=new mysqli('db_host','db_user','db_password');

$mysql->select_db('db_name');

$html=file_get_contents("
http://news.sina.com.cn/
");

$html=str_replace("\n","",$html);

$html=str_replace("\r","",$html);

$rule='/<div class="ct_t_01".*?>(.*?)<\/div>/';

preg_match($rule,$html,$result);

$result=$result[1];

$rule='/<h1 data-client="headline">(.*?)<\/h1>/';

preg_match_all($rule,$result,$array);

foreach($array[0] as $k=>$v)//带h1标签

{

 $sql="insert into table_name(col_name) values('$v')";

 $mysql->query($sql);

}

foreach($array[1] as $k=>$v)//不带h1标签

{

 $sql="insert into table_name(col_name) values('$v')";

 $mysql->query($sql);

}

?>
更多追问追答
追问

        

  数据库是:intlzone 表名是:intlzone_news

  执行后返回数据库还是空的

追答
$sql="insert into table_name(col_name) values('$v')";
这里的col_name改成你表里的字段n_title,另外,你要插入日期的话,就在前面定义一个变量,$today=date("Y-m-d");
之后sql里面改成$sql="insert into intlzone_news(n_title,n_date) values('$v','$today')";
还有前面的$mysql=new mysqli('db_host','db_user','db_password');一定要改成你的数据库连接地址,用户名和密码,还要注意数据库端口是不是默认的3306,不是的话,要在地址后面加上端口号。之后
$mysql->select_db('intlzone');
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式