国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python實現微信找房機器人實例教程

2020-01-04 13:36:05
字體:
來源:轉載
供稿:網友

目的

兩年前曾為了租房做過一個找房機器人 「爬取豆瓣租房并定時推送到微信」,維護一段時間后就荒廢了。

當時因為代碼比較簡單一直沒開源,現在想想說不定開源后也能幫助一些同學更好的找到租房信息,所以簡單整理后,開源到 github,地址:https://github.com/facert/zufang

下面是當時寫的簡單原理介紹:

身在帝都的人都知道租房的困難,每次找房都是心力交瘁。其中豆瓣租房小組算是比較靠譜的房源了,但是由于小組信息繁雜,而且沒有搜索的功能,想要實時獲取租房信息是件很困難的事情,所以最近給自己挖了個坑,做個微信找房機器人,先看大概效果吧,見下圖:

Python,微信找房,機器人

Python,微信找房,機器人

實現

說下大概的技術實現吧,首先是 scrapy 爬蟲對于豆瓣北京租房的小組實時爬取,并做了全文檢索,對 title, description 使用 jieba 和 whoosh 進行了分詞和索引,做成 api。接下來就是應用的接入,網上有微信機器人的開源 [wxBot](http://github.com/liuwons/wxBo),所以對它進行了修改, 實現了定時推送和持久化。最后順便把公眾號也做了同樣的功能,支持實時租房信息搜索。

部分代碼

scrapy 支持自定義 pipeline,能很方便的實現數據錄入的時候實時生成索引,見 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'),  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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贡嘎县| 满城县| 茌平县| 望谟县| 甘德县| 遂平县| 米易县| 兰西县| 旌德县| 梁河县| 哈尔滨市| 昂仁县| 扎鲁特旗| 白河县| 托克逊县| 安多县| 化州市| 玉林市| 弥渡县| 保亭| 苗栗县| 中西区| 修水县| 唐河县| 乾安县| 揭西县| 丹阳市| 乌鲁木齐县| 潜山县| 铜梁县| 朝阳区| 呼图壁县| 治县。| 湟中县| 宜宾县| 安乡县| 阜新市| 江油市| 台湾省| 怀仁县| 枣庄市|