房价貌似快要涨了,俺最近天天加班,俺媳妇来负责找房源,可她那狗屎公司无法上网,只好用ipad 加载rss 离线看,结果狗屎sohu焦点的rss 非全文rss ,为了老婆找房方便,写了点代码,用于生成全文的rss. 希望借此机会,尝试一下代码改善生活的感觉. 不废话吧,直接贴代码了.

PHP code??
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?php
header("Content-type: text/html; charset=utf-8");
ini_set("max_excution_time"  ,3600);
$url "http://sz.focus.cn/common/xml/rss/news/hot.php";
$newItemArr = parseItems( $url );
$xmlItemContent = makeRssItemString( $newItemArr ); //重新生成item 内容,将下载内容替换descript.
//rss xml 的头尾字符串
$xmlPre = '
<?xml version="1.0" encoding="GBK"?>
<?xml-stylesheet type="text/xsl" href="/common/xml/xsl/rss.xsl" media="all"?>
<?xml-stylesheet type="text/css" href="/common/xml/css/rss.css" media="all"?>
<rss version="2.0"
xmlns:focus="http://house.focus.cn"
xmlns:F="http://house.focus.cn"
docType="rss"
F:docType="rss"
>
<channel
pageIndex=""
pageSize="20"
recordCount=""
F:pageIndex=""
F:pageSize="20"
F:recordCount="">
<image>
<title><![CDATA[热点新闻-搜狐焦点网深圳站 ]]></title>
<link>http://sz.focus.cn/newscenter/xwsy.html</link>
<url>http://images.house.focus.cn/img/newhouselogo.gif</url>
</image>
<title>热点新闻-搜狐焦点网深圳站</title>
<link>http://sz.focus.cn/newscenter/xwsy.html</link>
<description><![CDATA[提供最全面最及时的中国房地产新闻资讯 ]]></description>
<copyright>Copyright 2012, sohu.com Inc., all rights reserved</copyright>
<language>zh-cn</language>
<lastBuildDate>Mon, 02 Jul 2012 21:44:21 +0800</lastBuildDate>
<pubDate>Mon, 02 Jul 2012 21:44:21 +0800</pubDate>
<category>地产综合</category>
<ttl>30</ttl>';
$xmlAppend '</channel></rss>';
$xmlOutput $xmlPre $xmlItemContent $xmlAppend ;
echo $xmlOutput;
/**
 * @param $url
 * @return array itemObj
 */
function parseItems( $url )
{
    $xmlObj = simplexml_load_file( $url );
    $items $xmlObj -> channel -> item;
    $resultArr array();
    foreach$items as  $item ):
        $resultArr []= makeRssItemObj( $item );
    endforeach;
    return $resultArr;
}
/**
 * @param $item
 * @return itemObj
 */
function makeRssItemObj( $item )
{
 //   $item->link = "demo.html";
    $urlContent = fileGetContent( $item->link );  //如果不支持curl 就用file_get_content 或者socket 连接来实现.
    $urlContent = @iconv("gb2312","utf-8",$urlContent);
   // $content = iconv("gb2312" , "utf-8" , $content);
    preg_match("/id=\"newscontent\">([\d\D]+)<div\s+class=\"clear\">/iU" $urlContent $matchArr);
    $item->description = $matchArr[1];
    return $item;
}
/**
 * @param $itemObjArr
 * @return string
 */
function makeRssItemString( $itemObjArr )
{
   $result "";
   foreach$itemObjArr as $itemObj  ):
       $result .= "<item>";
           $result .= "<title><![CDATA[ $itemObj->title ]]></title>";
           $result .= "<link>$itemObj->link</link>";
           $result .= "<description><![CDATA[ $itemObj->description ]]></description>";
           $result .= "<author>mu_rain</author>";
           $result .= "<pubDate>$itemObj->pubDate</pubDate>";
       $result .= "<item>";
   endforeach;
    return  $result;
}
// ------------------------------------------------------------------------
/**
 * regulary show the string or object or json.
 * 规格化显示
 *
 * @param  $str 对象的实例
 * @package       P
 * @subpackage    String
 * @category  Putils
 * @author        mu_rain
 *  @return mixed
 */
// ------------------------------------------------------------------------
function pr($array,$title 'DEBUG',$type 'array' $width '') {
    $title .= date("Y-m-d H:i:s");
    $widthStr "";
    if$width$widthStr "width:$width"."px";
    echo "<fieldset style=\"-moz-border-radius:5px 5px 5px 5px; -moz-box-shadow:0px 0px 10px rgba(00,00,00,0.45); border: 3px solid  transparent; padding:3px; margin-top:20px; \"><legend style=\"color: #069; margin:3px; $widthStr \">$title</legend>";
    echo "<div style = '-moz-border-radius:10px 10px 10px 10px;font-size:14px; color:#069; border:1px solid #F0FAF9;  font-size:9pt; background:#F0FAF9; padding:5px;'>";
    print("<pre>");
    if($type == 'json') {
        $array = json_decode($array);
    }
    print_r($array);
    print("</pre>");
    echo "<div>";
    echo  "</fieldset>";
}
// ------------------------------------------------------------------------
/**
 *
 * get the urlContent use curl
 * @package    KDG
 * @subpackage    common
 * @category  mu_rain
 * @author     徐兴
 */
// ------------------------------------------------------------------------
function fileGetContent($url)
{
    $ch = curl_init();
    $timeout = 30;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $contents = trim(curl_exec($ch));
    curl_close($ch);
    return $contents;
}

为找房方便,将sohu房产的rss 转成全文的!相关推荐

  1. 贝壳找房挖到AI大牛叶杰平,房产中介转型需要技术,高估值更需要

    杨净 发自 凹非寺  量子位 报道 | 公众号 QbitAI 前滴滴AI实验室负责人叶杰平,去贝壳找房了. 没错,从"行"到"住",从"车" ...

  2. 爬虫+数据探索01-贝壳找房北京二手房信息数据

    目录 项目简介 数据获取 1.爬虫 2.数据处理 3.数据探索 项目简介 爬取贝壳找房北京二手房信息数据,并整理成可分析数据 数据获取 (修正后数据链接:链接:https://pan.baidu.co ...

  3. 贝壳找房IPO,房产电商依旧难走

    配图来自Canva 终于,贝壳找房递交招股书,赴美IPO. 贝壳找房作为全国第二大交易平台,由线下地产经纪巨头链家转型而来.而此前链家一直是中国最大的地产经纪品牌,其绿底白字的招牌一直是深夜城市中最吸 ...

  4. 百度空间互踩_贝壳联手百度地图 整合新房信息找房更便捷

    来源:环球网 近日,贝壳找房与百度地图达成战略合作,推出基于百度地图丰富房产社区POI点的房产信息服务内容.消费者只要进入到最新版的百度地图之后,输入想要查询的楼盘名称,即可查看贝壳App所提供的新房 ...

  5. 麦田在线携手网易云信,开启手机智能找房新时代

    合作简讯 近日,麦田房产旗下产品"麦田在线"与网易云信达成重要合作. 麦田房产2000年在福州成立,2005年进军北京,2007年拓展厦门.以二手房经纪服务为主营业务,涉及房地产. ...

  6. 贝壳找房《2018城市居住报告》:新一线租房量持续攀升

    2019年1月24日,贝壳找房发布<2018城市居住报告>,聚焦租房和二手房交易人群,盘点分析了北京.上海.深圳.南京.武汉.长沙.重庆.成都.合肥等9大房产交易城市现状.报告发现,过去一 ...

  7. 贝壳找房的2021,依然充满变数

    配图来自Canva可画 2021年的贝壳找房充满变数,先是被指垄断,而后又失去了精神支柱一般的创始人左晖.在接二连三的打击中,贝壳发布了2021年上半年及第二季度财报,毫不意外贝壳找房业绩整体表现差强 ...

  8. 贝壳找房上海研发全员被优化,公司回应来了!

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 10月11日,不少网友在某社交平台上爆料称,贝壳找房上海研发全员被优化,裁员补偿为"N+3". 贝壳找房回应 ...

  9. AI 搜房,贝壳找房的Milvus实践

    | 项目背景 贝壳作为一家房产服务互联网平台,如何在海量房源中选出能够快速成交的房源是对平台和经纪人来说都是一件非常重要同时具有挑战的事情,但是针对房型图,户型信息等一系列非结构化数据在平台中应该怎么 ...

最新文章

  1. 【跃迁之路】【495天】程序员高效学习方法论探索系列(实验阶段252-2018.06.15)...
  2. 给自定义控件(Web Control)添加事件的几种方法。前两种方法可以不实现IPostBackEventHandler...
  3. nginx 301重定向带www的https链接配置方法
  4. GPU算力免费用?百度AI Studio两周年惊喜活动开启
  5. createprocess 系统找不到指定的文件_windows找不到gpedit.msc请确定文件名
  6. Apache Cassandra和低延迟应用程序
  7. 院士怒批:中国科研被SCI和西方支配,贫于创新、贫于思想
  8. 8.1 类的一般形式
  9. [转一下]未来卫星通信发展趋势
  10. html公式输入空格,mathtype怎么在公式里加空格
  11. python求函数零点,在函数零点问题中求解参数范围
  12. OS/操作系统_清华大学(陈渝)笔记目录
  13. 主成分分析(PCA)详解
  14. ORA-20001: Latest xml inventory is not loaded into table
  15. 最终结束漂泊的身份-我办理北京人才引进的经历
  16. demo h5 touch 移动_移动端Touch事件与H5-Canvas像素点检测实现刮刮乐
  17. 《美团机器学习实践》学习笔记:机器学习中的模型评价指标(二)——回归模型评估
  18. chapter3 转录组学
  19. JSD-2204-JavaScript-Vue-Day05
  20. 万能  随机森林回归 补缺函数

热门文章

  1. JNI:Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1)错误的一点认识
  2. 创建android studio桌面图标
  3. 深入浅出ELK日志收集系统搭建
  4. 涨知识了!阿里规定超过三张表禁止join,为啥?
  5. 蒲公英 · JELLY技术周刊 Vol.26: 请问您这个月要来点肝么?
  6. python mpi4py multiprocessing_python基于multiprocessing的多进程创建方法
  7. Python札记 -- 测试优先
  8. 深大uooc学术道德与学术规范教育第一章
  9. CTF题库NSCTF crypto50
  10. Node.js -- JavaScript的运行环境