广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现简单的索引排序与搜索功能
  • 784
分享到

Python实现简单的索引排序与搜索功能

2024-04-02 19:04:59 784人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

今天,我上的课,学了索引排序与搜索。让我们用python实现,觉得有点意思就跟大家分享一波。 代码如下图: import requests import re def News

今天,我上的课,学了索引排序与搜索。让我们用python实现,觉得有点意思就跟大家分享一波。

代码如下图:


import requests
import re

def News_Spider():#定义一个爬虫
    url = 'https://news.sina.com.cn/'#url地址,新浪新闻
    headers = {#请求头
        '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)#针对Https,采用verify=False
    response.encoding='utf-8'#编码方式
    html = response.text#获取页面源代码
    #print(html)#打印源代码
    reg = 'target="_blank">(.*?)</a>'#设置规则
    content = re.findall(reg,html)#从页面源代码中筛选
    ls = []#定义一个空列表
    for c in content:
        if '<' in c:
            continue
        else:
            if len(c) > 6 and '客户端' not in c:
                #print(c)
                ls.append(c)
            else:
                continue
    docu_set = {}#定义一个字典
    for l in range(len(ls)):
        docu_set['d{}'.fORMat(l+1)] = ls[l]#格式化方法,从1开始
    return docu_set

def change_set():
    all_Words = []#定义一个空列表用于存储
    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('请输入查找内容:'))
        if Find == '不查了':
            break
        for Contetnt in invert_index:#循环每一个键
            if Find in Contetnt:#如果输入在键的字符串中
                Result = invert_index[Contetnt]#循环出字典中每一个对应的值
                #print(Result)
                for r in Result:#循环每一个值
                    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('很抱歉,没有找到更多内容!!')
        #news = set(news)
        for n in news:
            if '很抱歉' in n:
                print(n)
                break
            else:
                print(n)

def main_function():#定义一个主方法
    News_Spider()
    change_set()
    reverse_index()
    Select()

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

运行结果如下图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于代码的解释,我写在注释中了。

到此这篇关于Python实现简单的索引排序与搜索功能的文章就介绍到这了,更多相关python实现索引排序和搜索内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python实现简单的索引排序与搜索功能

本文链接: https://www.lsjlt.com/news/123544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现简单的索引排序与搜索功能
    今天,我上的课,学了索引排序与搜索。让我们用Python实现,觉得有点意思就跟大家分享一波。 代码如下图: import requests import re def News...
    99+
    2022-11-12
  • 微信小程序实现简单搜索功能
    本文实例为大家分享了微信小程序实现简单搜索功能的具体代码,供大家参考,具体内容如下 搜索效果图 实现功能如下 (1) 未找到商品时显示提示信息,找到商品时显示商品列表 (2) 清空...
    99+
    2022-11-13
  • Android实现简单动态搜索功能
    目录前言一、addTextChangedListener二、本文案例1.介绍一下SearchView的一些方法2.准备数据3.初始化以及填充数据4.在SearchView中用户输入字...
    99+
    2022-11-13
  • Vue如何实现简单搜索功能
    这篇文章主要讲解了“Vue如何实现简单搜索功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue如何实现简单搜索功能”吧!1、概述在vue项目中,搜索功能是我们经常需要使用的一个场景,最常...
    99+
    2023-07-05
  • 怎么用ajax实现简单搜索功能
    这篇文章主要讲解了“怎么用ajax实现简单搜索功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用ajax实现简单搜索功能”吧!本文实例讲述了基于aja...
    99+
    2022-10-19
  • python实现简单的百度搜索
    #!/usr/bin/python # coding=utf-8 import urllib import urllib2 #实现百度关键字查询的小例子 #定义基础url url = "http://www.baidu.com/s" ...
    99+
    2023-01-31
    百度搜索 简单 python
  • Android怎么实现简单动态搜索功能
    本篇内容介绍了“Android怎么实现简单动态搜索功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言提到Android的动态搜索,大多应...
    99+
    2023-06-30
  • Vue实现简单搜索功能的示例代码
    目录1、概述2、功能逻辑2.1功能流程2.2 流程图3、功能实现3.1 vue组件化3.2 代码3.3 动态效果1、概述 在vue项目中,搜索功能是我们经常需要使用的一个场景,最常用...
    99+
    2023-03-19
    Vue实现搜索功能 Vue搜索功能 Vue搜索
  • 使用Python怎么实现一个索引排序功能
    使用Python怎么实现一个索引排序功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。import requestsimport redef Ne...
    99+
    2023-06-14
  • 如何使用MySQL和Java实现一个简单的搜索引擎功能
    要使用MySQL和Java实现一个简单的搜索引擎功能,可以按照以下步骤进行:1. 创建数据库:首先,使用MySQL Workbenc...
    99+
    2023-10-20
    MySQL
  • RiSearch PHP 实现搜索结果的智能排序与过滤
    作为一个开发者,我们经常会遇到需要实现搜索功能的情况。而在实际的项目中,如何对搜索结果进行智能排序和过滤是一个非常关键的问题。本文将介绍如何使用 RiSearch PHP 来实现搜索结果的智能排序与过滤,并提供具体的代码示例。RiSearc...
    99+
    2023-10-21
    过滤 智能排序 RiSearch
  • python基于搜索引擎实现文章查重功能
    前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦。近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制、黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联...
    99+
    2022-11-12
  • Sphinx PHP 实现全文搜索的搜索历史记录与推荐功能
    引言:随着互联网的快速发展,全文搜索已经成为了许多网站和应用程序中必不可少的功能。Sphinx是一个功能强大的开源全文搜索引擎,它可以快速地搜索和检索大量的文本数据。本文将介绍如何使用Sphinx PHP来实现全文搜索的搜索历史记录与推荐功...
    99+
    2023-10-21
    PHP (编程语言) Sphinx (用于全文搜索)
  • Android简单实现菜单拖拽排序的功能
    目录1、效果2、简介3、功能拆解4、功能实现4.1、实现接口4.1.1、getMovementFlags4.1.2、onMove4.1.3、onSwiped4.2、绑定Recycle...
    99+
    2022-11-13
  • python基于搜索引擎如何实现文章查重功能
    这篇文章给大家分享的是有关python基于搜索引擎如何实现文章查重功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫...
    99+
    2023-06-14
  • 简单易懂的 Python 实时索引与重定向教程
    好的,下面是这篇文章的正文: Python 是一门广泛应用的高级编程语言,它具有简单易懂、易于学习的特点,因此在数据科学、人工智能等领域得到了广泛的应用。本文将为大家介绍 Python 实时索引与重定向的知识点,帮助大家更好地理解和应用这些...
    99+
    2023-10-24
    重定向 实时 索引
  • Android项目类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现
    最近跳槽去新公司,接受的第一个任务是在 一个电商模块的搜索功能以及搜索历史记录的实现。 需求和淘宝等电商的功能大体差不多,最上面一个搜索框,下面显示搜索历史记录。在EditTe...
    99+
    2022-06-06
    自动 淘宝 电商 监听 事件 排序 软键盘 Android
  • React实现复杂搜索表单的展开收起功能
    给时间时间,让过去过去。 上节我们写过了【搜索】表单,以及查询、重置功能。本节对于需要展开收起效果的查询表单 进行概述,主要涉及前端样式知识。 样式效果如下: &nbs...
    99+
    2022-11-12
  • Vue3+Element+Ts实现表单的基础搜索重置等功能
    从Vue2的写法转变为Vue3的格式之后,会有一些写法和代码结构的改变,这里对一些重点进行介绍。 代码结构: 写法一(推荐): <script setup lang=...
    99+
    2022-11-12
  • 怎么用Python实现基于Pyqt5的简单电影搜索工具
    这篇文章主要介绍“怎么用Python实现基于Pyqt5的简单电影搜索工具”,在日常操作中,相信很多人在怎么用Python实现基于Pyqt5的简单电影搜索工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作