濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能

Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能

熱門(mén)標(biāo)簽:淮安呼叫中心外呼系統(tǒng)如何 京華圖書(shū)館地圖標(biāo)注 電話(huà)外呼系統(tǒng)招商代理 蘇州人工外呼系統(tǒng)軟件 看懂地圖標(biāo)注方法 佛山通用400電話(huà)申請(qǐng) 廣東旅游地圖標(biāo)注 打印谷歌地圖標(biāo)注 電話(huà)機(jī)器人貸款詐騙

今天,我上的課,學(xué)了索引排序與搜索。讓我們用Python實(shí)現(xiàn),覺(jué)得有點(diǎn)意思就跟大家分享一波。

代碼如下圖:

import requests
import re

def News_Spider():#定義一個(gè)爬蟲(chóng)
    url = 'https://news.sina.com.cn/'#url地址,新浪新聞
    headers = {#請(qǐng)求頭
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
    }
    response = requests.get(url,headers,verify=False)#針對(duì)https,采用verify=False
    response.encoding='utf-8'#編碼方式
    html = response.text#獲取頁(yè)面源代碼
    #print(html)#打印源代碼
    reg = 'target="_blank">(.*?)/a>'#設(shè)置規(guī)則
    content = re.findall(reg,html)#從頁(yè)面源代碼中篩選
    ls = []#定義一個(gè)空列表
    for c in content:
        if '' in c:
            continue
        else:
            if len(c) > 6 and '客戶(hù)端' not in c:
                #print(c)
                ls.append(c)
            else:
                continue
    docu_set = {}#定義一個(gè)字典
    for l in range(len(ls)):
        docu_set['d{}'.format(l+1)] = ls[l]#格式化方法,從1開(kāi)始
    return docu_set

def change_set():
    all_words = []#定義一個(gè)空列表用于存儲(chǔ)
    docu_set = News_Spider()
    for i in docu_set.values():
        cut = i.split()#分詞
        all_words.extend(cut)#添加分詞
    set_all_words = set(all_words)
    return set_all_words
    #print(set_all_words)

def reverse_index():
    invert_index = dict()#定義空字典
    set_all_words = change_set()#將返回值傳遞給變量
    docu_set = News_Spider()
    for b in set_all_words:
        temp = []
        for k in docu_set.keys():
            field = docu_set[k]
            split_field = field.split()
            if b in split_field:
                temp.append(k)
        invert_index[b] = temp
    print(invert_index)
    return invert_index

def Select():
    docu_set = News_Spider()
    invert_index = reverse_index()
    news = []
    # for i in invert_index:
    #     print(invert_index[i])
    while True:
        Find = str(input('請(qǐng)輸入查找內(nèi)容:'))
        if Find == '不查了':
            break
        for Contetnt in invert_index:#循環(huán)每一個(gè)鍵
            if Find in Contetnt:#如果輸入在鍵的字符串中
                Result = invert_index[Contetnt]#循環(huán)出字典中每一個(gè)對(duì)應(yīng)的值
                #print(Result)
                for r in Result:#循環(huán)每一個(gè)值
                    if r in docu_set.keys():#如果值在字典中
                        news.append(docu_set[r])#列表增加字典docu_set的值
                        print(docu_set[r])#打印輸出字典的值
                    else:
                        continue
            else:
                if Find not in Contetnt:
                    news.append('很抱歉,沒(méi)有找到更多內(nèi)容??!')
        #news = set(news)
        for n in news:
            if '很抱歉' in n:
                print(n)
                break
            else:
                print(n)

def main_function():#定義一個(gè)主方法
    News_Spider()
    change_set()
    reverse_index()
    Select()

if __name__ == '__main__':#程序入口
    main_function()

運(yùn)行結(jié)果如下圖:



關(guān)于代碼的解釋?zhuān)覍?xiě)在注釋中了。

到此這篇關(guān)于Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)索引排序和搜索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python-ElasticSearch搜索查詢(xún)的講解
  • python實(shí)現(xiàn)全盤(pán)掃描搜索功能的方法
  • Python模擬百度自動(dòng)輸入搜索功能的實(shí)例
  • python添加模塊搜索路徑和包的導(dǎo)入方法
  • python廣度優(yōu)先搜索得到兩點(diǎn)間最短路徑
  • python實(shí)現(xiàn)搜索文本文件內(nèi)容腳本
  • Python實(shí)現(xiàn)的本地文件搜索功能示例【測(cè)試可用】

標(biāo)簽:江蘇 呼和浩特 中山 畢節(jié) 衡水 駐馬店 股票 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能》,本文關(guān)鍵詞  Python,實(shí)現(xiàn),簡(jiǎn)單,的,索引,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    昔阳县| 盐源县| 庆元县| 武城县| 阳江市| 鄂州市| 绍兴县| 嘉兴市| 平原县| 长治县| 玉溪市| 织金县| 翁牛特旗| 八宿县| 孝感市| 绥江县| 新源县| 依安县| 崇左市| 邵阳县| 宁化县| 新巴尔虎左旗| 嘉鱼县| 大邑县| 定襄县| 柳林县| 梅河口市| 白城市| 无极县| 仁化县| 德钦县| 鄂伦春自治旗| 安溪县| 调兵山市| 固安县| 榕江县| 德钦县| 镇巴县| 苍南县| 常州市| 云安县|