php生成百度新闻源xml
<?php
/*
http://baike.baidu.com/view/125547.htm#2
百度网新闻开放协议
*/
mysql_connect($CFG['db_host'] ,$CFG['db_user'],$CFG['db_pass']) or die('数据库连接错误!');
mysql_select_db($CFG['db_name']);
mysql_query("set names utf8");
$p=$CFG['tb_pre'];
$ids=array(1,2,3);
foreach ($ids as $k=>$v){//begin foreach
$query="select `a`.*,`c`.*,`d`.*,`a`.`linkurl` as `alinkurl` from `{$p}category` as `c` ,`{$p}article_21` as `a` , `{$p}article_data_21` as `d` where `a`.`catid`=`c`.`catid` and `a`.`itemid`=`d`.`itemid` and `a`.`status`=3 and `a`.`catid`='{$v}' order by `a`.`itemid` desc limit 100";
$result=mysql_query($query);
$m=0;
while($info=mysql_fetch_array($result,MYSQL_ASSOC)){
$data_array[$m]['title']='';
$data_array[$m]['link']='';
$data_array[$m]['description']='';
$data_array[$m]['text']='';
$data_array[$m]['image']='';
$data_array[$m]['keywords']='';
$data_array[$m]['category']='';
$data_array[$m]['author']='';
$data_array[$m]['source']='';
$data_array[$m]['pubDate']=''
$m++;
}
/*$data_array = array(
array(
"title"=>"",
"link"=>"",
"description"=>"",
"text"=>"",
"image"=>"123",
"keywords"=>'',
"category"=>"",
"author"=>"",
"source"=>"",
"pubDate"=>"2012-06-12 14:03"
)
);*/
// 属性数组
/*$attribute_array = array(
'title' => array(
'size' => 1
)
);
*/
// 创建一个XML文档并设置XML版本和编码。。
$dom=new DomDocument('1.0', 'gbk');
// 创建根节点document
$document = $dom->createElement('document');
$dom->appendchild($document);
//创建document->website
$website=$dom->createElement('website');
$document->appendchild($website);
$mytext = $dom->createTextNode('http://www.abc.net/');
$website->appendchild($mytext);
//创建document->webMaster
$webmaster=$dom->createElement('webMaster');
$document->appendchild($webmaster);
$mytext = $dom->createTextNode('songzhenghe89@126.com');
$webmaster->appendchild($mytext);
//创建document->updatePeri
$updateperi=$dom->createElement('updatePeri');
$document->appendchild($updateperi);
$mytext = $dom->createTextNode('60');
$updateperi->appendchild($mytext);
//批量创建document->item
foreach ($data_array as $data) {
$item = $dom->createElement('item');//创建一个item
$document->appendchild($item);
create_item($dom, $item, $data, $attribute_array);
}
//echo $dom->saveXML();
$dom->save("./"."{$v}.xml");
}//end foreach
function create_item($dom, $item, $data, $attribute) {
if (is_array($data)) {
foreach ($data as $key => $val) {
// 创建元素
$$key = $dom->createElement($key);
$item->appendchild($$key);
// 创建元素值
if($key!="pubDate"){
//使用cdata包含
$cdatasection=$dom->createCDATASection($val);
$$key->appendchild($cdatasection);
}else{
$mytext = $dom->createTextNode($val);
$$key->appendchild($mytext);
}
if (isset($attribute[$key])) {
// 如果此字段存在相关属性需要设置
foreach ($attribute[$key] as $akey => $row) {
// 创建属性节点
$$akey = $dom->createAttribute($akey);
$$key->appendchild($$akey);
// 创建属性值节点
$aval = $dom->createTextNode($row);
$$akey->appendChild($aval);
}
} // end if
}
} // end if
} // end function
?>
php生成百度新闻源xml的更多相关文章
- 第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息
第三百三十四节,web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息 crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多 ...
- 十三 web爬虫讲解2—Scrapy框架爬虫—Scrapy爬取百度新闻,爬取Ajax动态生成的信息
crapy爬取百度新闻,爬取Ajax动态生成的信息,抓取百度新闻首页的新闻rul地址 有多网站,当你浏览器访问时看到的信息,在html源文件里却找不到,由得信息还是滚动条滚动到对应的位置后才显示信息, ...
- php生成百度站点地图sitemap.xml
<?php header("Content-type:text/html;charset=utf-8"); //php生成百度站点地图sitemap.xml //http:/ ...
- C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市
百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsC ...
- 使用python抓取百度搜索、百度新闻搜索的关键词个数
由于实验的要求,需要统计一系列的字符串通过百度搜索得到的关键词个数,于是使用python写了一个相关的脚本. 在写这个脚本的过程中遇到了很多的问题,下面会一一道来. ps:我并没有系统地学习过pyth ...
- windows定时执行百度新闻爬虫
想要做个新闻文本识别分类的项目,就先写了个爬取百度新闻的爬虫. 环境:win7 32 bit python3.4 若干第三方库 可以实现的功能:定期按照百度新闻的分类抓取新闻的标题,所属类别及文本内容 ...
- H5类似易企秀/编辑器/页面制作/开发/生成工具/软件/源码/授权
代码地址如下:http://www.demodashi.com/demo/14960.html 项目简介 H5DS (HTML5 Design software) 这是一款基于WEB的 H5制作工具. ...
- 基于HttpClient实现网络爬虫~以百度新闻为例
转载请注明出处:http://blog.csdn.net/xiaojimanman/article/details/40891791 基于HttpClient4.5实现网络爬虫请訪问这里:http:/ ...
- 开发Nodejs(rest框架)版本的百度新闻系统--开发环境配置
项目介绍:配置好开发环境,制作前端百度新闻界面,后台开发成Nodejs版本,做成做成rest风格API形式搭载mysql,使用Bootstrap搭建后台页面,完成对新闻的增删改查功能,利用Ajax配合 ...
随机推荐
- C and C++ : Partial initialization of automatic structure
Refer to: http://stackoverflow.com/questions/10828294/c-and-c-partial-initialization-of-automatic-st ...
- Java安全编码之用户输入
0x00 安全引言 1.传统Web应用与新兴移动应用 (1)传统Web应用:浏览器 HTTP 服务器(2)新兴移动应用:APP HTTP 服务器 从安全角度看,传统Web应用与新兴移动应用没有本质区别 ...
- 通过CSS让html网页中的内容不可选
*{ moz-user-select: -moz-none; -moz-user-select: none; -o-user-select:none; -khtml-user-select:none; ...
- PowerDesigner15.1创建模型及生成带注释sql操作手册
转自:http://blog.csdn.net/huiwenjie168/article/details/7824029 一.创建模型 操作:file-->new Model… 快捷键:ctrl ...
- sgen.exe" exited with code 1.解决方法
VS中有时候编译项目会出现这样的错误: 错误 "sgen.exe" exited with code 1.即(错误 “sgen.exe”已退出,代码为 1.) 解决办法: ...
- platform设备驱动全透析
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://21cnbao.blog.51cto.com/109393/337609 1.1 ...
- BZOJ 1494 生成树计数(生成树计数-矩阵)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1494 题意: 思路: int SIZE; struct matrix { i64 a[N] ...
- [HIHO1039]字符消除(字符串,枚举,模拟)
题目链接:http://hihocoder.com/problemset/problem/1039 思路:枚举所有字符更新的位置和ABC三种修改方案,之后再模拟消除规则,一步一步去消除.直到无法消除, ...
- ubuntu中apt-get安装与默认路径
一.apt-get 安装 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb或者直接双击此文件 dpkg 是Debian ...
- Codeforces Round #174 (Div. 1)A
题不怎么难,按线段树的解法 就是延迟标记,更新 因为找错找了N久 记一篇吧 向下更新时把+=写成了= 还做在了2W组的数据上 那个错找得真费劲.. #include <iostream> ...