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配合 ...
随机推荐
- Phalanx--hdu2859(dp 最大对称子图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 题意就是给你一个n*n的字符矩阵,从中选出一个最大的子矩阵(m*m)满足关于斜对角线(左下角到右 ...
- fastdfs-client-java工具类封装
FastDFS是通过StorageClient来执行上传操作的 通过看源码我们知道,FastDFS有两个StorageClient工具类.
- Android videoview循环播放视频
如何在一个activity里实现videoview对一个文件夹下的所有视频文件顺序循环播放,当切换界面时暂停, 切换回来继续原来的视频播放呢.所谓的 自动循环播放就是监听到视频播放结束之后继续重新播放 ...
- Java基本开发环境搭建
转http://blog.csdn.net/cxwen78/article/details/6400798 eclipse怎么编写JAVA,然后运行 1.新建一个Java project取个名字(首字 ...
- 【coursera笔记】Machine Learning(Week6)
发现自己不写总结真是件很恶劣的事情,好多学的东西没有自己总结都忘记了.所以决定从今天开始,学东西的时候一定跟上总结. 我写的东西大多数是自己通俗的总结,不太喜欢写严格的定义或者证明,写了也记不住,欢迎 ...
- POJ-3669 Meteor Shower(bfs)
http://poj.org/problem?id=3669 注意理解题意:有m颗行星将会落在方格中(第一象限),第i颗行星在ti时间会摧毁(xi,yi)这个点和四周相邻的点,一个人开始在原点,然后只 ...
- HDU 4757 Tree(可持久化trie)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4757 题意:给出一棵树,节点有权值.每次询问x到y的路径上与z抑或的最大值. 思路:可持久化trie. ...
- find a filename from a filehandle in Perl
my $filename='/tmp/tmp.txt';open my $fh, '>', $filename;my $fd = fileno $fh;print readlink(" ...
- [Golang]实习最后一天小纪念+并发爬虫小练习
今天是我在公司实习的最后一天,一个月的时间真的是太短暂了,我非常享受在公司工作的这一个月,在这里Leader和同事们对我的帮助极大地促进了我技术水平的进步和自信心的提升,我发自内心地感谢白山云科技给我 ...
- 《OD学oozie》20160813
一.日志收集项目案例 1. oozie中依赖jar包 在工作目录下创建lib目录,上传依赖包的lib目录下 2. 作业 将日志收集与处理项目案例使用oozie的workflow执行 3. coordi ...