中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-21 20:07:15 來源:腳本之家 閱讀:115 作者:facert 欄目:開發技術

目的

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

當時因為代碼比較簡單一直沒開源,現在想想說不定開源后也能幫助一些同學更好的找到租房信息,所以簡單整理后,開源到 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'),
  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

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁国市| 滕州市| 富平县| 铜川市| 交口县| 堆龙德庆县| 昌图县| 五寨县| 龙里县| 逊克县| 蒲城县| 朝阳县| 恩施市| 泾阳县| 南丰县| 泸州市| 广灵县| 上犹县| 炎陵县| 修文县| 玉溪市| 广河县| 富宁县| 青河县| 湾仔区| 云林县| 佛教| 资中县| 金川县| 平江县| 南漳县| 辰溪县| 湖州市| 沙河市| 浏阳市| 昌邑市| 耒阳市| 西宁市| 泰兴市| 邵阳县| 阜平县|