利用Python实现微信找房机器人实例教程

  

  

两年前曾为了租房做过一个找房机器人“爬取豆瓣租房并定时推送到微信”,维护一段时间后就荒废了。

  

当时因为代码比较简单一直没开源,现在想想说不定开源后也能帮助一些同学更好的找到租房信息,所以简单整理后,开源到github,地址:https://github.com/facert/zufang (本地下载)

  

<强>下面是当时写的简单原理介绍:

  

身在帝都的人都知道租房的困难,每次找房都是心力交瘁。其中豆瓣租房小组算是比较靠谱的房源了,但是由于小组信息繁杂,而且没有搜索的功能,想要实时获取租房信息是件很困难的事情,所以最近给自己挖了个坑,做个微信找房机器人,先看大概效果吧,见下图:

  

利用Python实现微信找房机器人实例教程

  

利用Python实现微信找房机器人实例教程

  

  

说下大概的技术实现吧,首先是scrapy爬虫对于豆瓣北京租房的小组实时爬取,并做了全文检索,对标题、描述使用jieba和呼进行了分词和索引,做成api。接下来就是应用的接入,网上有微信机器人的开源(wxBot) (http://github.com/liuwons/wxBo),所以对它进行了修改,实现了定时推送和持久化。最后顺便把公众号也做了同样的功能,支持实时租房信息搜索。

  

<强>部分代码

  

scrapy支持自定义,能很方便的实现数据录入的时候实时生成索引,见代码:

        类IndexPipeline(对象):      def __init__(自我,指数):   自我。指数=指数      @classmethod   履带def from_crawler (cls):   返回cls (   指数=crawler.settings。get (“WHOOSH_INDEX”、“索引”)   )      def process_item(自我,物品,蜘蛛):   自我。作家=AsyncWriter (get_index(自我。指数,zufang_schema))   create_time=datetime.datetime。strptime(项目(“create_time”)、“Y % - % - % d % H: % m: % S”)   self.writer.update_document (   url=项目(“url”) .decode (utf - 8),   title=项目(“标题”),   描述=项目(“描述”),   create_time=create_time   )   self.writer.commit ()   返回项目      

搜索api代码很简单:

        def zufang_query(关键词,限制=100):   第九=get_index(“索引”,zufang_schema)   内容=(“标题”、“描述”)   查询=MultifieldParser(内容、ix.schema) .parse(关键字)   result_list=[]   搜索者用ix.searcher ():   结果=搜索者。搜索(查询、sortedby=癱reate_time”反向=True,限制=限制)   我的结果:   result_list。追加({“url”:我“url”,“标题”:我(“标题”),“create_time”:我[' create_time ']})   返回result_list      

  

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

利用Python实现微信找房机器人实例教程