附加功能--添加词条,并作为查询结果显示

用Python调用维基与TMDB API,从零搭建影视人物近况查询工具 在开放数据时代,公开接口(API)是高效获取结构化信息的关键途径。将维基百科的人物词条、修订记录与TMDB的影视作品数据相互整合,就能把演员的基础资料、近年动态和职业轨迹聚合为清晰可查的表格。这一能力不仅支撑影迷自建人物追踪工具,也适用于选角调研、影视专题策划和公开数据采集实践。理解HTTP请求、参数设计、响应解析以及数据清洗等工程要点,是掌握API开发的必修课。以经典银幕角色“琴·格蕾”的现实扮演者为例,从环境准备到接口调试,一步步实现一个可复用的影视人物近况查询脚本,帮助使用者以可验证的方式获取最新公开 阅读详情

用户可以自己你添加单词和翻译,前提是这些单词没有被添加过,而且在redis里面不存在,也就是不允许有重复的单词存在,添加完之后,可以再前段通过查询,得到添加的对应的翻译。。。。


有一个功能是: 用户提交的词条会生成对应的索引,索引的形式是:该单词的前缀,单词本身,单词在数据库中的唯一ID,这些单词在数据库中也是分类存储的。。

(单词前缀,单词本身,唯一数据库ID )这个hash项是添加到redis中的,当存在巨大的用户添加词条时,仍然可以做到微妙的查询速度

一次性发完:


<?php 
class AddRedis
{
	private $redis=null;
	private $host="localhost";
	private $username="root";
	private $passwd="cai123";
	private $db="words";
	private $conn=null;
	
	public function __construct()
	{
		$this->redis=new Redis();
		$this->redis->connect('127.0.0.1', 6379);
		$this->redis->auth('caifangjie');
		
		$this->conn=new mysqli($this->host, $this->username, $this->passwd) or die('连接mysql失败'.mysql_error);
		$this->conn->select_db($this->db);
		$this->conn->query("set names utf8");
	}
	//把添加的单词作为键,last_insert_id作为值,插入到redis
	public function setIndex($wordzone, $word,$num_index)
	{
		$zone = $wordzone."::USER";
		$this->redis->hSetNx($zone, $word, $num_index);
	}
	//从redis中获取last_insert_id,然后去数据库查询用户添加的单词
	public function getIndex($word)
	{
		$zone = strtolower(substr($word, 0,1))."::USER";
		if($this->redis->hExists($zone, $word))
		{
			return $this->redis->hGet($zone, $word);
		}
		else
		{
			return 0;
		}
	}
	public function getTrans($word)
	{
		//从获取ID,去数据库中查询单词
		$id = $this->getIndex($word);
		if($id != 0)
		{
			$table = strtolower(substr($word, 0,1));
			$sql = "SELECT trans FROM {$table} WHERE id = {$id}";
			$res = $this->conn->query($sql);
			if($this->conn->affected_rows)
			{
				$trans = $res->fetch_row()[0];
				$res->free();
				return array($trans);
			}
			else
			{
				return 0;
			}
		}
		else
		{
			return 0;
		}
	}
}

/*  $word = new AddRedis();
var_dump($word->getTrans("makebbb"));  */
?>

<?php 
require_once "addredis.class.php";
class Addword
{
	private $host="localhost";
	private $username="root";
	private $passwd="cai123";
	private $db="words";
	private $conn=null;
	
	public function __construct()
	{
		$this->conn=new mysqli($this->host, $this->username, $this->passwd) or die('连接mysql失败'.mysql_error);
		$this->conn->select_db($this->db);
		$this->conn->query("set names utf8");
	}
	public function setword($word, $trans)
	{
		$wordzone = substr($word,0,1);
		$sql = "SHOW TABLES LIKE '$wordzone' ";
		$this->conn->query($sql);
		$last_id=null;
		//表示此分类表已经存在,所以不用创建
		if($this->conn->affected_rows)
		{
			$sql = "SELECT * FROM $wordzone WHERE word='$word' ";
			$ifExists = $this->conn->query($sql);
			//只有当待插入的单词在表中不存在时
			if(!$this->conn->affected_rows)
			{
				$sql = "INSERT INTO $wordzone(word, trans) VALUES('$word', '$trans')";
				$this->conn->query($sql);
				//获取插入最近一次插入数据库的ID
				$res=$this->conn->query("SELECT LAST_INSERT_ID() FROM $wordzone");
				$last_id = $res->fetch_row()[0];
				$res->free();
				if(!$this->conn->affected_rows)
				{
					die("插入词条失败");
				}
			}
			else
			{
				$ifExists->free();
				die($word."已经存在于".$wordzone."表中,暂时禁止更新");
			}
			
		}
		else
		{	//当wordzone表不存在时,创建
			$sql = "CREATE TABLE $wordzone(id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, word VARCHAR(32) NOT NULL DEFAULT '', trans VARCHAR(128) NOT NULL DEFAULT '')charset utf8";
			$this->conn->query($sql);
			
			$sql = "INSERT INTO $wordzone(word, trans) VALUES('$word', '$trans')";
			$this->conn->query($sql);
			$res=$this->conn->query("SELECT LAST_INSERT_ID() FROM $wordzone");
			$last_id = $res->fetch_row()[0];
			$res->free();
			if(!$this->conn->affected_rows)
			{
				die("插入词条失败");
			}
			
		}
		/*
		*插入单词时可以返回wordzone( word(key)  last_insert_id(value)),并插入redis缓存,用以索引
		* redis->setIndex($wordzone, $word, $last_id);
		*/
		if($last_id)
		{
			$redis = new AddRedis();
			$redis->setIndex($wordzone, $word, $last_id);
		}
	}
	/*
	public function getword($word)
	{
		$word = trim($word);
		$wordzone=substr($word, 0,1);
		$sql = "SHOW TABLES LIKE '$wordzone' ";
		$ifExists = $this->conn->query($sql);
		//表示此分类表已经存在,所以不用创建
		if($this->conn->affected_rows)
		{
			$ifExists->free();
			$sql = "SELECT trans FROM $wordzone WHERE word='$word' ";
			$trans = $this->conn->query($sql);
			if($this->conn->affected_rows)
			{
				$res = $trans->fetch_row()[0];
				$trans->free();
				return array($res);
			}
			else
			{
				return array($wordzone."表中不存在单词".$word);
			}
			
		}
		else
		{
			return array("不存在".$wordzone."表,无法获取".$word."的翻译");
		}
	}*/
}
/* 
$word = new Addword(); */

?>



///下面这段程序是控制器

会检查单词是否为英文,如果翻译比较长,会无损截断,再就是判断单词是否存在原始单词库中,判断该单词是否被其他用户添加过,并在用户添加完之后,返回一个成功或者失败的提示,当然是无刷新的

<?php 
require_once "addword.class.php";
require_once "../processCheck.class.php";
require_once "../storeWord.class.php";
header("content-type: text/html");
if( !empty($_GET['word']) && !empty($_GET['trans']))
{
		
	$word = trim($_GET["word"]);
	$trans = trim($_GET["trans"]);
	if(!preg_match('#[a-z]+#', $word)) die("添加的单词只能是英文");
	
	//判断添加的词条是否已经存在
	$check = new Check();
	$redis = new StoreWord();
	$wordzone = $check->matchDic($word);
	if($redis->getWord($wordzone, $word)!= 0)
		die($word."已经存在redis数据库中,禁止添加");
	
	//判断提交的词条对应的翻译是否超过128,如果超过128则截断;
	$string='';
	if(strlen($trans)>128)
	{
		for($i=0; $i<128; $i++)
		{
			if(ord(substr($trans, $i, 1))>0xa0)
			{
				$string .= substr($trans, $i, 3);//因为是以UTF-8编码保存的
				$i++;$i++;
			}
			else
			{
				$string .= $trans[$i];
			}
		}
		$trans = $string;
	}
	if(strlen($word)>32) $word=substr($word, 0,32);
	$words = new Addword();
	$words->setword($word, $trans);
	$red = dechex(mt_rand(0,255)); 
	$green = dechex(mt_rand(0,255)); 
	$blue = dechex(mt_rand(0,255)); 
	$color="#".$red.$green.$blue;
	echo "<span style='color:$color'>添加词条成功</span>";
}
else
{
	echo "添加词条失败".basename(__FILE__)." ::". __LINE__;
}
?>
//这个事界面,可以添加词条和翻译,还有一个隐藏区域,在用户添加词条之后,用于无刷新显示,添加成功或者失败的原因,比如单词背添加过,或者存在原始的词库里,经过反复测试,可以做到不重复


<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">
#addword{position: absolute; left:410px; top:130px}
span{font-size: 25px; font-weight: 12pt; color: #ababab; background-color: #B9D3EE; margin-right: 10px; height:50px;}
span#addtrans{position: relative; top: -160px;}
#word{width: 625px; height: 40px; margin-bottom: 10px; }

input#word{font-size: 24px;padding-left: 5px;color:#CD661D;}
textarea#trans{font-size: 20px;padding-left: 5px;padding-top:5px;color:#1C86EE}
input#submit{width:65px;height:35px;padding: 1px;font-family: Arial,Helvetica,sans-serif;  font-size:16px; position: absolute; left:670px;}
#feedback{position: absolute; left:110px; background-color:DBDBDB; color:#ee0000; height:30px;}
</style>
<script type="text/javascript">
function checkLength()
{
	if(document.getElementById("trans").value.length >= 42)
	{
		alert("最多支持42个字符");
	}
}
function clearTextarae()
{
	document.getElementById("trans").value="";
}
function clearInput()
{
	document.getElementById("word").value="";
}
function getXMLHttpRequest()
{
	var xmlhttp=null;
	if(window.ActiveXObject)
	{
		xmlhttp = new ActiveXObject("Microsoft.XMLHttp");
	}
	else
	{
		xmlhttp=new XMLHttpRequest();
	}
	return xmlhttp;
}
function sendQuery()
{
	var xmlhttp = getXMLHttpRequest();
	if(xmlhttp)
	{
		url="/ciba/niujin-alpha/addword/addword.process.php?";
		var word = $("word").value;
		var trans = $("trans").value;
		var data="word="+word+"&trans="+trans;
		xmlhttp.open("get", url+data, true);
		xmlhttp.onreadystatechange=function()
		{
			if(xmlhttp.readyState==4 && xmlhttp.status==200)
			{
				var res = xmlhttp.responseText;
				$("feedback").innerHTML=res;
			}
		}
		xmlhttp.send(null);
	}
}
function $(id)
{
	return document.getElementById(id);
}
</script>
</head>
<body bgcolor="#RGB(67,65,65)">
<img src="../image/addci.jpg" style="margin-left: 400px;">

<div id="addword">
<span>添加单词</span><input type="text" value = "添加单词"id="word" name="word" onclick="clearInput();"><br />
<span id="addtrans">添加翻译</span><textarea cols="60" rows="8" id="trans" name="trans" onkeydown="checkLength();" onclick="clearTextarae();">添加翻译,暂时只允许42字符</textarea><br />
<div id="feedback"></div><input type = "button" value="提交" id="submit" onclick="sendQuery();">
</div>
</body>
</html>


//最重要的一点是:允许用户添加词条当然是对词库的补充和完善,当然添加后的词条,在前段是可以查询的到的。。。。。
Aruba无线控制器实战:如何用Client Match优化企业办公区漫游(附SNR调优技巧) 本文深入解析了如何利用Aruba无线控制器的Client Match功能优化企业办公区无线漫游体验。通过实战配置,详细阐述了基于SNR(信噪比)的精细化调优策略,包括阈值设定、负载均衡与场景化参数调整,旨在解决终端粘滞、乒乓漫游等问题,实现智能、平滑的无缝漫游。 阅读详情

相关推荐

ATAC-seq数据分析流程

Outline0. ATAC-seq原理0.1 染色体结构0.2 原理0.3 结果0.4 意义1. ATAC-seq数据分析流程1.1 上游分析(1)序列质控和比对(2)序列筛选1.2 下游分析1.3 进阶分析 0. ATAC-seq原理 0.1 染色体结构 0.2 原理 0.3 结果 0.4 意义 1. ATAC-seq数据分析流程 1.1 上游分析 (1)序列质控和比对 fastqc trim_golare bowtie2 mapping时要加上参数 --very-sensitive -X 2000

weixin_57830892的博客 1万+

深入解析CMU发音词典:13.5万+英语词条的音素编码架构与应用实践

CMU发音词典(Carnegie Mellon Pronouncing Dictionary)作为语音技术领域的基石资源,提供了超过13.5万个英语单词的精确音素标注,广泛应用于语音识别、合成和自然语言处理系统。这一开源发音词典采用独特的音素编码体系,为开发者构建高性能语音应用提供了标准化数据基础。 ## 技术架构与音素编码体系 CMU发音词典的核心技术架构基于卡内基梅隆大学语音研究小组的多年

gitblog_00080的博客 714

学习笔记7--激光雷达标定

本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》,笔者不是自动驾驶领域的专家,只是一个在探索自动驾驶路上的小白,此系列丛书尚未阅读完,也是边阅读边总结边思考,欢迎各位小伙伴,各位大牛们在评论区给出建议,帮笔者这个小白挑出错误,谢谢! 此专栏是关于《自动驾驶汽车环境感知》书籍的笔记。 2.激光雷达标定 2.1 概述 激光雷达内参标定:内部激光发射器坐标系与雷达本

FUXI_Willard 8027

PATRICIA树

分词是自然语言处理的重要环节。分词时所使用的词典是分词系统的重要组成部分。词典的查询和更新效率直接影响着分词系统的性能。 词典的查询分成三类: A.确定词条查询:在词典中查询有无词串w,有则返回该词条在词典中的位置和其它附加信息 B.最长词条查询:从词串s的位置i开始的最长的词条 C.前缀词条查询:从词串s的位置i开始的全部的词条 e.g 词典中有词条“中”“中华”“中华人民”“中华人

huang_yx005的博客 1995

信息安全-入侵检测技术原理与应用

入侵检测技术原理与应用、入侵检测概述、入侵检测技术、入侵检测系统组成与分类、入侵检测系统主要产品与技术指标、入侵检测系统应用

我的个人博客 1万+

STM8库函数开发手册(3) //UART1、内部EEPROM、FLASH操作库、IIC(硬、软)

STM8S 微控制器家族的通用同步异步收发器(UART1,UART2 或者UART3)提供了一种灵活的方法与使用工业标准NRZ 异步串行数据格式的外部设备之间进行全双工数据交换。STM8 的UART 提供范围的波特率选择,并且支持多处理器通讯。UART 也支持LIN(局部互联网)协议版本1.3,2.0,和2.1 以及在主模式下的J2602。 UART1 和UAR...

finedayforu的博客 2520

Computers & Security 投稿实战:从零到一详解避坑指南

本文详细解析了向《Computers & Security》投稿的全流程避坑指南,包括ORCID账号注册、文件格式统一、Editorial Manager®系统操作技巧等关键步骤。特别强调了cover letter撰写、Declaration of Interest Statement准备以及PDF生成后的检查要点,帮助研究者高效完成投稿流程。

weixin_29228203的博客 675

Elasticsearch 倒排索引中词条索引原理分析 — 基于 Lucene FST(ES 7 / Lucene 8)

Elasticsearch 倒排索引中词条索引原理分析 — 基于 Lucene FST(ES 7 / Lucene 8)

J_bean的博客 851

124、LLC谐振变换器的矩阵变压器设计

摘要 本文分享了LLC谐振变换器中矩阵变压器的实战设计经验。针对大功率LLC单颗变压器的痛点(绕组层数多、散热不均、漏感一致性差),作者提出将大变压器拆分为多个小变压器单元(建议6个),通过原边串联、副边并联的方式实现功率分配。详细解析了磁芯选型、匝比计算、绕组结构、漏感控制和散热设计等关键参数,特别强调了小磁芯优势、等效匝比计算误区以及三明治绕法的重要性。文中还总结了调试过程中的谐振频率偏移和均流问题解决方案,并给出了矩阵数量选择、磁芯材质、绝缘材料等实用建议。作者指出,矩阵变压器在2kW以上LLC应用中

Jack010169的博客 170

Android 车载开发深度解析:CarPropertyManager 核心机制与实践指南

摘要: Android Automotive OS中,CarPropertyManager作为车载信息娱乐系统的核心组件,连接应用层与车辆硬件(如车速、油量等),其架构基于分层设计(App→CarAPI→VHAL→ECU),采用发布-订阅模式实现高效数据通信。通过HIDL/AIDL跨进程交互及共享内存优化,延迟可降至2ms以下。安全机制包括分级权限控制(VISIBLE/PROTECTED/SYSTEM_RESTRICTED)和HMAC防篡改。开发时需注意监听器生命周期管理、事件合并降负载及低功耗适配。

郑伟强dev的专栏 344

深蓝词库转换 macOS 版菜单功能实现详解:基于 Avalonia 的跨平台词库工具菜单架构

深蓝词库转换(IME WL Converter)是一款开源免费的输入法词库转换程序,其 macOS 版本使用 Avalonia UI 构建,将 Windows 版(WinForms)的全部菜单功能完整复刻到了原生 macOS 菜单栏中。本文以 [MENU_IMPLEMENTATION.md](https://gitcode.com/gh_mirrors/im/imewlconverter/blob

gitblog_00803的博客 453

【参数配置】OpenClaw 的破解之道(Doom Loop)

本文深入解析了OpenClaw中的Doom Loop(死循环)问题及其应对策略。主要内容包括: Agent Loop的核心概念:基于ReAct范式,OpenClaw通过"思考-行动-观察"循环执行任务,但可能陷入无进展的死循环。 Doom Loop现象:Agent持续执行但任务进度为零,常见于四种工具调用场景:相同调用重复执行、调用不存在工具、轮询工具卡死、操作交替振荡。 OpenClaw的防御机制: 第一道防线:重试端断路器,通过上下文压缩熔断(最多3次)和总重试次数熔断(32-160次)防止无限重试。

海兰 4042

标准查询分析器:Solr的默认查询解析器也称为“Lucene”解析器。

标准查询分析器:Solr的默认查询解析器也称为“Lucene”解析器。 标准查询解析器的主要优点是,它支持一种健壮且相当直观的语法,允许您创建各种结构化查询。最大的缺点是,与设计为尽可能少地抛出错误的DisMax的查询解析器相比,它非常不容忍语法错误。 标准查询分析器参数 除了常见的查询参数、分面参数、高亮参数和“更多其他”参数,标准查询分析器还支持下表中描述的参数。 q ...

java 技术交流。 319

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

区块链相关词条解释

创世区块参数如下{ "config": { "chainId": 10, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "coinbase" : "0x0000000000000000000000000000000000000

www.i201314.net 648

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

GEO搜索优化服务商排名公司

拟娲GEO维度测试:动作:沿用前述输入标准。数据采集方法为统一输入预设的行业咨询指令集,记录系统处理耗时、前端内容呈现结构、后台统计面板数值,全过程截屏与原始日志存档,不干预任何中间节点。数据:后台记录显示,品牌主词在生成答案中的出现次数区间为每日41至56次,联系方式附带成功率稳定在92%左右。过程:通过代运营服务端口建立连接,系统调用底层语义解析接口向目标平台发送内容同步请求,进入队列等待模型检索与重组。数据:季度配置模式下后台可查词条数为315条,半年配置对应显示502条,年度配置记录值为810条。

KrisHerry的博客 230

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Elasticsearch】模仿淘宝,将搜索框的业务逻辑抽象成DSL语句

目标 提供一个搜索API就能兼容前端的各种查询需求 环境 ElasticSearch 5.6.8 kibana 5.6.8 需求 界面根据用户点击,拼接用户的查询需求 input: { 1. 匹配查询: keywords: 商品名 , 不传入默认值为"烤箱 家用小烤箱" 2. 过滤查询(布尔查询): 匹配 c...

chenghan_yang的博客 1281

海量数据Top K:哈希分治+小顶堆,拆解百度面试附加题

海量数据处理是后端工程师与算法岗面试中的常考主题,尤其在搜索引擎、日志分析等场景下,从百亿级查询词中统计最高频Top K是极具代表性的工程难题。当数据规模远超内存时,暴力哈希排序不可行,核心解法是通过哈希分治将数据均匀切分为小文件,使每个分片可独立载入内存,再利用固定容量的小顶堆高效提取局部Top K,最后多路归并得到全局结果。这一思路不仅适用于离线日志分析,也能扩展至实时流计算与分布式MapReduce框架。本文以一道百度实习生招聘附加题为切入口,完整还原题目原貌、资源估算、分片与堆排序实现细节,并总结面

weixin_34343000的博客 371

Python实战:利用tkinterweb打造本地HTML词典查询工具

本文详细介绍了如何使用Python的tkinterweb组件开发本地HTML词典查询工具。通过tkinterweb的HTMLView功能,开发者可以快速构建一个离线词典应用,支持MDict词典格式的加载和查询,实现单词释义显示、发音播放等实用功能。文章提供了完整的代码示例和实现步骤,帮助读者掌握基于tkinterweb的桌面应用开发技巧。

weixin_29000991的博客 190

一文读懂RUM索引操作符类:从rum_tsvector_ops到rum_anyarray_ops全解析

PostgreSQL的**RUM索引**是一种强大的倒排索引访问方法,它在传统的GIN索引基础上增加了额外的排序信息,为全文搜索和复杂查询提供了卓越的性能优化。本文将全面解析RUM索引的各种**操作符类**,帮助您理解如何选择最适合的索引类型来提升数据库查询效率。 ## 📊 RUM索引操作符类概览 RUM索引提供了多种专门化的操作符类,每种都针对特定的数据类型和查询场景进行了优化: | 操

gitblog_00495的博客 1274

【web站点安全开发】任务1:html基础表单和表格

《HTML基础教程》摘要:本文详细介绍HTML核心知识点,包含表单和表格两大重点内容。在表单部分,解析了表单结构、8种常用控件(文本/密码输入框、单选/复选框等)及其属性用法,并附完整表单示例。表格部分阐述了基础结构、5个关键属性(边框/宽度/对齐等)及单元格合并技巧(跨列/跨行),同时提供成绩表示例。文末汇总了20个HTML基础标签(如<html>、<form>、<table>等)的功能说明,为网页开发提供系统性的入门指导。全文通过代码示例直观展示各元素用法,适合初学者

不羁的博客 971

Rant 3词典创作教程:如何编写.table词表文件(附完整示例)

Rant 3 是经典随机文本生成引擎 Rant 的第三代版本,而 **`.table` 词表文件**正是它字典系统的核心数据格式——学会编写 `.table`,你就能为 Rant 程序(以及 Rantionary 等衍生工具)定制专属词库。本教程带你从零理解词表结构,掌握 `@name`、`@sub`、条目、属性与模板等全部要素,最后给出一个可直接参考的完整示例。 ## 📁 先了解:一个 Ra

gitblog_01195的博客 57

Node.js实现网络新闻爬虫及搜索功能(四)

Node.js实现网络新闻爬虫及搜索功能(四)Node.js实现网络新闻爬虫及搜索功能(四)项目要求二、搜索网站部分1. 建立前端网页2. 建立后端路由 Node.js实现网络新闻爬虫及搜索功能(四) 项目要求 一、爬虫部分         1、完成目标网站的网页分析和爬虫设计。         2、爬取不少于100条数据(每条数据包括7个字段,新闻

WORLDLOGIC的博客 646

搜索词从哪来?rewards-farmer的LLM与Trends双查询源切换完全指南

rewards-farmer 是一款模拟真人操作的 Microsoft Rewards 自动搜索脚本,它在 Edge 浏览器中自动完成 Bing 每日搜索、"Explore on Bing" 卡片任务等动作来赚取积分。那么,**机器人敲进搜索框的"搜索词"到底从哪来?** 答案藏在项目内置的两套查询源里:`llm`(大语言模型生成)和 `trends`(Google Trends、Wikipedi

gitblog_00477的博客 744

(附完整代码和实验报告)【python 大作业】实现一个聊天机器人,关键词双重查找,结合语境查找,爬虫查询,图形化界面,语音播报。

1.进行简单的日常生活聊天(首先根据输入寻找对应答案,如果未找到对应答案,就结合从百度百科上爬取下的内容进行回答) 2.关于具体电影和音乐话题的聊天(联系上文语境、实现关键词双重查找) 附加部分: 为机器人增加了语音播报功能 实现了一个简单的GUI,实现了交互功能.........

Timeseed的博客 7293

中间件—ElasticSearch安装、集群、结构、查询、运维

点击上方“罗晓胜”,马上关注,您的支持对我帮助很大 上期文章 从0到1学java:变量和运算符 从0到1学java:流程控制语句 / 前言 / 工作中可能会用到搜索引擎,本章就来简单聊聊ElasticSerach这款搜索引擎。 / 正文 / Elasticsearch安装、Kibana安装 官方下载地址:https://www.elastic.co/downloads/elasticsearch Windows下载安装...

微信公z号: 罗晓胜,分享技术干货和有趣视频​ 624
上一篇: 附加功能--保存用户查询历史,显示查询史,复习查询过的单词
下一篇: 附加功能--双击或者划选,获得翻译
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值