最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年04月14日 10:36:00   作者:Mr.Pan_學(xué)狂  
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的索引排序與搜索功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

今天,我上的課,學(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python庫(kù)coala代碼分析和自動(dòng)化檢查改進(jìn)工具使用探索

    Python庫(kù)coala代碼分析和自動(dòng)化檢查改進(jìn)工具使用探索

    Python的coala工具是一個(gè)強(qiáng)大的代碼分析和自動(dòng)化改進(jìn)工具,它可以幫助開(kāi)發(fā)人員自動(dòng)化地檢查代碼并提供改進(jìn)建議,本文將詳細(xì)介紹coala的功能和用法,并提供豐富的示例代碼來(lái)幫助大家深入了解它
    2024-01-01
  • Python階乘求和的代碼詳解

    Python階乘求和的代碼詳解

    在本篇文章里小編給大家整理的是關(guān)于Python階乘求和的代碼實(shí)例,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • Python JSON格式數(shù)據(jù)的提取和保存的實(shí)現(xiàn)

    Python JSON格式數(shù)據(jù)的提取和保存的實(shí)現(xiàn)

    這篇文章主要介紹了Python JSON格式數(shù)據(jù)的提取和保存的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • pyftplib中文亂碼問(wèn)題解決方案

    pyftplib中文亂碼問(wèn)題解決方案

    這篇文章主要介紹了pyftplib中文亂碼問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python中字典(dict)和列表(list)的排序方法實(shí)例

    Python中字典(dict)和列表(list)的排序方法實(shí)例

    這篇文章主要介紹了Python中字典(dict)和列表(list)的排序方法實(shí)例,總結(jié)來(lái)說(shuō)優(yōu)先使用內(nèi)置的sort()方法進(jìn)行排序,需要的朋友可以參考下
    2014-06-06
  • python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼

    python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼

    這篇文章主要介紹了python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 基于Python構(gòu)建一個(gè)智能語(yǔ)音機(jī)器人

    基于Python構(gòu)建一個(gè)智能語(yǔ)音機(jī)器人

    這篇文章主要為大家詳細(xì)介紹了如何基于Python構(gòu)建一個(gè)智能語(yǔ)音機(jī)器人,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Linux安裝Pytorch1.8GPU(CUDA11.1)的實(shí)現(xiàn)

    Linux安裝Pytorch1.8GPU(CUDA11.1)的實(shí)現(xiàn)

    這篇文章主要介紹了Linux安裝Pytorch1.8GPU(CUDA11.1)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python List cmp()知識(shí)點(diǎn)總結(jié)

    Python List cmp()知識(shí)點(diǎn)總結(jié)

    在本篇內(nèi)容里小編給大家整理了關(guān)于Python List cmp()用法相關(guān)知識(shí)點(diǎn),有需要的朋友們跟著學(xué)習(xí)下。
    2019-02-02
  • Python xmltodict模塊安裝及代碼實(shí)例

    Python xmltodict模塊安裝及代碼實(shí)例

    這篇文章主要介紹了Python xmltodict模塊安裝及代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

集贤县| 海阳市| 杭锦旗| 迭部县| 厦门市| 开远市| 方山县| 峨边| 准格尔旗| 呼伦贝尔市| 股票| 涿州市| 和静县| 沙河市| 凤山市| 成都市| 庐江县| 贺兰县| 日土县| 全椒县| 青海省| 茂名市| 房产| 嘉鱼县| 鸡泽县| 汝南县| 科尔| 石城县| 康平县| 长沙县| 镇安县| 珲春市| 平安县| 牡丹江市| 镇康县| 林西县| 桐柏县| 班戈县| 综艺| 巴林右旗| 汝南县|