`
再逢山水
  • 浏览: 156295 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

原创使用google reader + PHP将iteye博客数据导入到wordpress中

阅读更多
本人wordpress版本为3.0.1,非此版本的,可以查看wp-includes/post.php文件中的wp_insert_post函数进行模仿发布文章,该函数第一个参数即为博客数据数组。

google reader可访问如下地址(红色字体为需要导入的博客链接),建议将xml文件保存至本地。

https://www.google.com/reader/atom/feed/http://haroldphp.iteye.com/rss?n=44444

在wordpress/wp-admin/目录下新建fetch.php文件(然后运行该文件即可),源代码如下:

<?php
require_once ('./admin.php');

$dom = new DOMDocument ( '1.0' );
//载入保存至本地的xml文件,本人保存至wordpress根目录
$xmlfile = '../haroldphp.xml';

$dom->load ( $xmlfile );

$dom->saveXML ();

//存储xml数据的数组
$dataArray = array ();

$entryArray = $dom->getElementsByTagName ( 'entry' );


foreach ( $entryArray as $entry ) {
	//博客标题
	$dataArray ['post_title'] = $entry->getElementsByTagName ( 'title' )->item ( 0 )->nodeValue;
	
	//博客发表时间
	$published = $entry->getElementsByTagName ( 'published' )->item ( 0 )->nodeValue;	
	$dataArray ['post_date_gmt'] = $dataArray ['post_date'] = $published;
	
	//博客更新时间
	$updated = $entry->getElementsByTagName ( 'updated' )->item ( 0 )->nodeValue;	
	$dataArray ['post_modified']= $dataArray ['post_modified_gmt'] = $updated;
	
	$summary = $entry->getElementsByTagName ( 'summary' )->item ( 0 )->nodeValue;
	//过滤无用数据标签
	$replace = '/<span style="color:red">\s*<a.*style="color:red">((已有 <strong>\d+<\/strong> 人发表留言,猛击-&gt;&gt;<strong>这里<\/strong>&lt;&lt;-参与讨论)|(本文的讨论也很精彩,浏览讨论&gt;&gt;))/m';
	$replace2 = '/<span style="color:#e28822">ITeye推荐<\/span>/';
	
	$replace3 = '~<ul><li><a\s*href="http://(.)*\.iteye\.com/clicks/(\d)+"><span\s*style="color:red;font-weight:bold">.+ </span></a></li></ul>~m';
	
	$summary = preg_replace ( $replace, '', $summary );
	$summary = preg_replace ( $replace2, '', $summary );
	$summary = preg_replace ( $replace3, '', $summary );
	$dataArray ['post_content'] = $summary;
	//默认为立即发布,如果需要为草稿,可改为draft
	$dataArray['post_status'] = 'publish';
	//使用wp自带发布文章函数将数据写入数据库
	$post_ID = wp_insert_post ( $dataArray );
	if (is_wp_error ( $post_ID ) || empty ( $post_ID ))
		echo $dataArray ['post_title'] . ' --- 导入数据出错';
		
	add_meta ( $post_ID );
	
	add_post_meta ( $post_ID, '_edit_last', $GLOBALS ['current_user']->ID 
);	

         echo $dataArray ['post_title'] . ' added success!!!';
}


分享到:
评论
1 楼 NickWar 2012-04-25  
脚本很好用,感谢楼主分享


但我只能导出10篇文档的xml。。。
使用google read 抓取我的博客,无论怎样设置n值,都只能抓到10篇,悲催,直接抓取也是
http://nickwar.iteye.com/rss?n=100

相关推荐

    python实现iteye博客归档的条形图

    在这个场景中,我们看到一个名为"python实现iteye博客归档的条形图"的项目,其目标是利用Python将iteye博客的归档数据转化为条形图进行展示。这个项目涉及到的知识点主要包括Python的数据处理、数据分析库Pandas、...

    wordpress简体中文 v4.9.4

    WordPress是一个注重美学、易用性和网络标准的...使用WordPress可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress能让您省却对后台技术的担心,集中精力做好网站的内容。

    iteye 博客抓取 网页解析 关键字提取

    iteye博客抓取 网页解析 关键字提取 jsoup解析网页 包含数据库文件

    我写的iteye android客户端

    总之,“iteye android客户端”是一个集成了多种Android开发技术的实例,从源码解析中,开发者可以学习到关于UI设计、网络通信、数据存储、用户认证、模块化开发等多个领域的知识。对于那些想要提升Android开发技能...

    ITEYE手机阅读器更新

    ITEYE手机阅读器是一款专为IT专业人士打造的移动阅读应用,它集成了大量的技术文章、博客、论坛讨论等资源,方便用户随时随地获取和学习最新的IT知识。此次“ITEYE手机阅读器更新”可能涉及到的功能改进、性能优化...

    http://topkinghat.iteye.com/blog/840706

    不过,标签“源码”和“工具”暗示了这篇博客可能涉及到软件开发的源代码分析或使用的工具。结合压缩包内的文件 "姜铁简历(IT中文)1-君锐咨询.doc",我们可以推测这可能是作者姜铁的个人简历,其中可能包含了他在...

    用于整理iteye上的blog文章的脚本,方便制作chm,在firebug上执行

    用户可能需要在Firebug的控制台中运行这个脚本来抓取iteye博客文章的数据。 至于标签“源码”和“工具”,这表明压缩包中可能包含了这个脚本的源代码,用户可以查看、学习甚至根据自己的需求进行修改。同时,这个...

    MDaemon Pro v9.01 破解文件

    MDaemon Pro v9.01 破解文件

    PHP-ExcelReader

    这个库使得在PHP环境中处理Excel数据变得更加方便,尤其对于那些需要从Excel文件导入数据到数据库或者进行数据分析的应用程序来说,PHP-ExcelReader是一个非常实用的工具。 在PHP中处理Excel文件通常是一个挑战,...

    Google+ 的使用

    NULL 博文链接:https://zhouxianglh.iteye.com/blog/1125009

    mybatis+mysql+springmvc + multidatasource+Atomikos 多数据源

    mybatis+mysql+springmvc + multidatasource+Atomikos 多数据源 (可以跑通的) http://knight-black-bob.iteye.com/blog/2253726

    iteye.com 自动留言交友推广的小工具

    2. 其他平台适配:理解了这个工具的工作原理后,开发者可以尝试将其扩展到其他类似的IT社区,如CSDN、V2EX等。 总的来说,"iteye.com 自动留言交友推广的小工具"是一个结合了网络爬虫、自动化测试和社交媒体互动的...

    wordpress简体中文 v4.7.1

    WordPress是一个注重美学、易用性和网络标准的个人信息发布平台。...使用WordPress可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress能让您省却对后台

    博客系统数据库dmp文件

    标题 "博客系统数据库dmp文件" 暗示我们正在处理一个数据库的导出文件,通常在Oracle数据库中,dmp文件是数据泵导出的数据文件,用于备份或迁移数据库内容。这种文件包含了数据库对象的结构和数据,包括表、索引、...

    业务系统在线设计平台 首先在iteye开源了

    描述中的链接指向了一篇iteye上的博客文章,虽然描述本身为空,但根据博客标题我们可以推测这篇文章可能详细介绍了这个在线设计平台的特性、使用方法以及如何从开源仓库获取和参与到该项目中。通常,开源项目的文章...

    模仿iteye代码高亮显示

    【标题】:“模仿iteye代码高亮...总的来说,模仿iteye的代码高亮显示涉及到选择合适的库,理解其工作原理,以及根据项目需求进行定制。通过实践和学习,你可以创建一个同样优秀的代码展示环境,提升用户的阅读体验。

    使用Struts2+Hibernate+Spring写了一个RSS Reader

    Simple Online RssReader code 博文链接:https://fuliang.iteye.com/blog/179905

    js中escape对应的C#解码函数 - Corrinejtt - ITeye

    js中escape对应的C#解码函数 - Corrinejtt - ITeye

    使用JS读写AppEngine数据Tailbone.zip

    谷歌创意实验室今天推出了一个小型的开源项目Tailbone,允许开发者使用JavaScript来读、写Google App Engine Datastore中的数据。这为不熟悉或不喜欢使用Python、 Java、Go语言的开发者使用App Engine提供了一个新的...

    SAP project 期初数据导入

    NULL 博文链接:https://xiaozmn.iteye.com/blog/1315079

Global site tag (gtag.js) - Google Analytics