利用Python實現(xiàn)微信找房機器人實例教程
目的
兩年前曾為了租房做過一個找房機器人 「爬取豆瓣租房并定時推送到微信」,維護一段時間后就荒廢了。
當時因為代碼比較簡單一直沒開源,現(xiàn)在想想說不定開源后也能幫助一些同學(xué)更好的找到租房信息,所以簡單整理后,開源到 github,地址:https://github.com/facert/zufang (本地下載)
下面是當時寫的簡單原理介紹:
身在帝都的人都知道租房的困難,每次找房都是心力交瘁。其中豆瓣租房小組算是比較靠譜的房源了,但是由于小組信息繁雜,而且沒有搜索的功能,想要實時獲取租房信息是件很困難的事情,所以最近給自己挖了個坑,做個微信找房機器人,先看大概效果吧,見下圖:
實現(xiàn)
說下大概的技術(shù)實現(xiàn)吧,首先是 scrapy 爬蟲對于豆瓣北京租房的小組實時爬取,并做了全文檢索,對 title, description 使用 jieba 和 whoosh 進行了分詞和索引,做成 api。接下來就是應(yīng)用的接入,網(wǎng)上有微信機器人的開源 [wxBot](http://github.com/liuwons/wxBo),所以對它進行了修改, 實現(xiàn)了定時推送和持久化。最后順便把公眾號也做了同樣的功能,支持實時租房信息搜索。
部分代碼
scrapy 支持自定義 pipeline,能很方便的實現(xiàn)數(shù)據(jù)錄入的時候?qū)崟r生成索引,見 code:
class IndexPipeline(object): def __init__(self, index): self.index = index @classmethod def from_crawler(cls, crawler): return cls( index=crawler.settings.get('WHOOSH_INDEX', 'indexes') ) def process_item(self, item, spider): self.writer = AsyncWriter(get_index(self.index, zufang_schema)) create_time = datetime.datetime.strptime(item['create_time'], "%Y-%m-%d %H:%M:%S") self.writer.update_document( url=item['url'].decode('utf-8'), title=item['title'], description=item['description'], create_time=create_time ) self.writer.commit() return item
搜索 api 代碼很簡單:
def zufang_query(keywords, limit=100): ix = get_index('indexes', zufang_schema) content = ["title", "description"] query = MultifieldParser(content, ix.schema).parse(keywords) result_list = [] with ix.searcher() as searcher: results = searcher.search(query, sortedby="create_time", reverse=True, limit=limit) for i in results: result_list.append({'url': i['url'], 'title': i['title'], 'create_time': i['create_time']}) return result_list
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對腳本之家的支持。
- itchat-python搭建微信機器人(附示例)
- python實現(xiàn)微信機器人: 登錄微信、消息接收、自動回復(fù)功能
- 手把手教你使用Python創(chuàng)建微信機器人
- python微信聊天機器人改進版(定時或觸發(fā)抓取天氣預(yù)報、勵志語錄等,向好友推送)
- python實現(xiàn)向微信用戶發(fā)送每日一句 python實現(xiàn)微信聊天機器人
- 詳解用python自制微信機器人,定時發(fā)送天氣預(yù)報
- 教你用Python創(chuàng)建微信聊天機器人
- python使用itchat庫實現(xiàn)微信機器人(好友聊天、群聊天)
- 快速實現(xiàn)基于Python的微信聊天機器人示例代碼
- python基于itchat實現(xiàn)微信群消息同步機器人
- 使用python接入微信聊天機器人
相關(guān)文章
分享python機器學(xué)習中應(yīng)用所產(chǎn)生的聚類數(shù)據(jù)集方法
本文根據(jù) 機器學(xué)習中常用的聚類數(shù)據(jù)集生成方法 中的內(nèi)容進行編輯實驗和整理而得,有需要的朋友可以參考想,希望可以對大家在聚類數(shù)據(jù)方面有所幫助2021-08-08tensorflow實現(xiàn)讀取模型中保存的值 tf.train.NewCheckpointReader
今天小編就為大家分享一篇tensorflow實現(xiàn)讀取模型中保存的值 tf.train.NewCheckpointReader,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02