搜索引擎的预料库 —— 万恶的爬虫

国央企创新负责人如何通过平台提升技术需求挖掘与资源配置的精准性?.docx 国央企创新负责人如何通过平台提升技术需求挖掘与资源配置的精准性? 立即下载

640?wx_fmt=png

本节我们来生产一个简单的语料库 —— 从果壳网爬点文章。后面我们将使用这些文章来完成索引构建和关键词查询功能。

https://www.guokr.com/article/438188

果壳网的文章很容易遍历,因为它的文章 id 是自增的。我查阅了站点的最新文章,发现这个 id 还没有超过 45w,所以我打算从 1 开始遍历,扫描出所有的有效文章。

但是扫描 45w 个 URL 会非常漫长,所以我开启了多线程。但是线程也不敢开太多,网站可能有反扒策略快速封禁 IP(我可不想去整 IP 代理池),也可能服务器计算能力有限,爬一爬网站就挂了。

我并不期望自己能扫描出所有的文章,有那么几百篇也就够了,做人也不宜太贪婪。

有同学建议我使用 Go 语言来爬,开启协程比线程方便多了。这个还是留给读者当作学习 Go 语言的练习题吧,我是打算一杆子 Java 写到底了 —— 因为玩 Lucene 是离不开 Java 的。

45w 个文章 ID 如何在多个线程之间分配,需要将所有的 id 塞进一个队列,然后让所有的线程来争抢么?这也是一个办法,不过我选择了使用 AtomicInteger 在多个线程之间共享。

爬到的文章内容放在哪里呢?只放在内存里会丢失,存储到磁盘上有需要序列化和反序列化也梃繁琐,还需要考虑文件内容如何存储。所以我打算把内容统统放到 Redis 中,这会非常方便。但是会不会放不下呢?我们来计算一下,一篇文章的内容量大概会占用 5k,如果有 45w 篇文章,那么就需要 45w * 5k 的内存,大概也只有 2个多G,我的苹果本内存 16G,存这点内容还是绰绰有余的。

爬到的文章是 HTML 格式的,每个网页除了文章内容本身之外,还有很多其它的外链以及广告。那如何将其中的核心文章内容抽取出来,这又是一个问题。我这里选择了 Java 的 HTML 解析库 JSoup,它使用起来有点类似于 JQuery,可以使用选择器来快速定位节点抽取内容。同时它还可以作为一个非常方便的抓取器,自带了 HTTP 的请求工具类。也许读者会以为我会使用高级的机器学习来自动抽取文章内容,很抱歉,实现成本有点高。

下面我们来看看如何使用 JSoup,先导入依赖

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.12.1</version>
</dependency>

抓取文章,将自己浏览器的 UserAgent 拷贝过来作为机器人的 UserAgent,伪装成一个正常的浏览器。当文章不存在时,果壳网并不是返回标准的 404 错误码。我们需要通过抽取网页内容来判断,如果抽取到的文章标题或者内容是空的,那么我们就认为这篇文章无效不存在。

抽取内容成功后,将内容存储到 Redis 中。因为抽取 45w 个网页时间上会有点漫长,我担心程序可能跑到一半就崩溃了,然后又不得不重新开始遍历。所以我打算记录一下抽取的状态,将抽取成功的文章 id 记录到一个 Redis 集合中。同时因为这 45w 个整数 id 有效的文章有可能连一半都占不到,所以我还会将无效的文章 id 也给记录下来,减少因为程序重启带来的无效爬虫抓取动作。

var agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36";
var url = String.format("https://www.guokr.com/article/%d/", id);
var res = Jsoup.connect(url)
        .header("HOST", "www.guokr.com")
        .header("User-Agent", agent)
        .execute();
if(res.statusCode() == 200) {
    var doc = Jsoup.parse(res.body());
    // 像极了 JQuery 有木有
    var divTitle = "div[class~=layout__Skeleton.*__ArticleTitle.*]";
    var divHTML = "div[class~=layout__Skeleton.*__ArticleContent.*]";
    var title = doc.selectFirst(divTitle).html();
    var html = doc.selectFirst(divHTML).html();
    if(!title.isEmpty() && !html.isEmpty()) {
      save2Redis(id, title, html);
      return;
    }
}
saveFailedId2Redis(id);

将文章内容存储到 Redis 中我打算使用 Hash 结构,分别存储 title 和 html 内容。因为后续我们还需要对文本进行去标签化等操作,这时就可以继续使用 Hash 结构存储处理后的干净的文本内容。

var redis = new JedisPool();
var db = redis.getResource();
// 将有效的文章 id 存储到一个集合中
db.sadd("valid_article_ids", String.valueOf(id));
db.hset(String.format("article_%d", id), "title", title);
db.hset(String.format("article_%d", id), "html", html);
db.close();

代码中的 db.Close() 表示将当前的 Jedis 链接归还给连接池,而不是关闭链接。

无效的文章 id 我们也要存起来。

db = redis.getResource();
db.sadd("invalid_article_ids", String.valueOf(id));
db.close();

这样当每个线程抢到一个 ID 之后,它要做的第一件事就是判断这个 ID 是否在有效的和无效的文章 ID 列表中,如果已经存在了,那就直接去抢下一个文章 ID。

var db = redis.getResource();
if(db.sismember("valid_article_ids", String.valueOf(id))) {
    db.close();
    return;
}
if(db.sismember("invalid_article_ids", String.valueOf(id))) {
    db.close();
    return;
}
db.close();
// 去爬吧
fetchArticle(id);

下面我们再来看看并发线程是如何开启和结束的,我只用了 16 个线程。最后需要使用 thread.join() 来等待所有线程终止,如果没有这行代码,程序会立即退出,想想为什么?

var idGen = new AtomicInteger();
var threads = new Thread[16];
var redis = new JedisPool();
for(int i=0;i<threads.length;i++) {
    threads[i] = new Thread(() -> {
        while(true) {
            var id = idGen.incrementAndGet();
            if(id > 450000) {
                break;
            }
            crawlArticle(redis, id);
        }
    });
    threads[i].start();
}
for(var thread: threads) {
    thread.join();
}
System.out.println("Game Over!");

程序总算跑起来了,但是跑了一段时间后我去 Redis 中查看了一下有效文章 ID 集合,发现里面之后 200 多个有效的文章 ID。果壳网难道只有 200 多篇文章,不可能,果壳网里面的科学文章可是包罗万象,少说应该也有几万篇吧,那这个究竟是怎么回事呢?

于是我将 Redis 中无效的文章 ID 集合清空,又重新跑了一下程序,打印了 HTTP 请求的状态码,发现非常非常多的 503 Service Unavailable 响应。我明白了 —— 网站的反爬策略起作用了,或者是服务扛不住 —— 挂了。我倾向于后者,因为我发现 HTTP 响应时好时坏,服务处于不稳定状态。通常反爬策略会持续一段时间封禁 IP,不会让你一会难受一会爽。

很无奈,我多跑了几次程序,最终收集了不到 1000 篇文章。这作为搜索引擎的语料库也差不多够用了,再死磕下去似乎会很不划算,所以今天的爬虫就到此为止。下一篇文章我们来使用 Lucene 构建文章的索引。

如果你想要仔细阅读今天的爬虫代码,可以点击「阅读原文」进入 Github Gist 查看(有可能需要翻墙)。如果你要尝试本节代码,请将线程数调低一点,以免对果壳网产生 DDOS 攻击 —— 后果自负。

下面是有钱(有老钱)的字节跳动内推入口,找出自己心意的职位后,请勇于投递你的个人简历,内部系统的数据安全性做得非常到位,我是看不到你们的简历内容的,所以不必太担心个人隐私问题。北京、上海、深圳、杭州、成都、广州等城市的职位都有,Python、Java、Golang、算法、数据、分布式计算和存储的岗位也都有,各人发挥自己的搜商自行搜寻。请认真投递自己的简历,否则可能连面试的机会都没有。

640?wx_fmt=png

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容) 内容概要:本文介绍了“两路半桥LLC谐振变换器软开关Simulink仿真”资源包,重点在于基于Simulink平台对两路半桥LLC谐振变换器进行高精度建模与动态仿真,特别考虑了谐振参数不一致及分裂电容等非理想工况对系统性能的影响。该仿真模型不仅涵盖了主电路拓扑、软开关实现机制与谐振网络设计,还深入分析了不同参数配置下系统的启动特性、稳态效率、动态响应及软开关条件的满足情况。通过参数扫描与对比仿真,帮助用户掌握LLC变换器的关键设计要素与优化方法,具备较强的工程指导价值和科研教学意义。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事高频开关电源、新能源变换器、车载充电机等领域的研发工程师和技术人员。; 使用场景及目标:① 掌握两路并联半桥LLC谐振变换器的建模与仿真方法;② 理解软开关技术在提升变换器效率与降低EMI方面的关键作用;③ 分析谐振参数偏差与分裂电容结构对系统均流特性、增益曲线及软开关范围的影响;④ 支持科研项目中的拓扑验证、控制策略开发与故障工况分析; 阅读建议:建议结合Simulink仿真模型与配套说明文档进行学习,重点关注谐振腔参数设置、驱动时序设计及软开关波形观测;可通过调整谐振电感、电容值或引入参数失配,观察系统行为变化,深入理解LLC变换器的稳定边界与优化设计原则。 立即下载

相关推荐

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文系统介绍了双向全桥CLLC谐振变换器的Simulink仿真模型,重点阐述了变频控制、闭环仿真及其与多种电力电子拓扑(如维也纳整流器、DAB变换器、图腾柱PFC等)的联合仿真设计。资源包涵盖2.5kW双向全桥LLC、V2G电动汽车充放电系统、三相PFC、多相交错LLC等多种变换器的仿真案例,并深入展示了三电平VIENNA整流器在双闭环PI控制与SVPWM调制策略下,结合上下电容电压差值补偿实现中点电位平衡的先进控制方法。通过仿真验证,该策略不仅有效维持了800V直流母线电压的稳定,还在动态工况下显著提升了电容电压的均衡度,同时保持了较低的输入电流THD,充分体现了SVPWM与中点平衡控制协同优化的技术优势。; 适合人群:具备电力电子与自动控制理论基础,从事新能源发电、电动汽车、工业电源、微电网等领域的研究生、工程师及科研人员。; 使用场景及目标:① 学习并构建高频谐振变换器(如LLC、CLLC)的Simulink仿真模型,掌握其变频与混合控制策略;② 深入理解并应用中点电位平衡、双闭环PI控制、SVPWM调制等核心技术于VIENNA等三电平变换器中;③ 复现高水平期刊论文中的控制算法,服务于科研项目申报、学术论文撰写或工程产品开发。; 阅读建议:该资源为综合性仿真资料库,建议使用者结合自身研究方向(如电动汽车充电、新能源并网)选择对应案例进行精学,重点关注控制策略的设计逻辑、仿真参数的整定方法以及SVPWM与中点平衡的协同机制,并充分利用附带的计算书和参考文献深化理解,以实现从仿真模型到实际工程应用的顺利转化。

统计自然语言处理(第二版)学习笔记:第四章 语料库与语言知识库

目录: 1.基本概念 2.预料库的技术发展 3.国内语料库研究状况 4.语料库的类型 5.典型语料库介绍 1.基本概念 语料库(corpus):存放语言材料的仓库(语言数据库)。 语料库语言学(corpus linguistics):基于语料库进行语言学研究。 研究内容: 语料库的建设与编纂; 语料库的加工和管理技术; 语料库的使用,包括在语言学研究(言语、 词汇和语义研究等)中的应用和在自然...

XB_please的博客 2739

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

雅思资料汇总

雅思考满分 :听力和单词是预料库的单词雅思小站:电子版真题,解析雅思哥:练习口语、查看口语题库听力分为 4 个 Section,每个 Section 10 题,难度一般递进。两种题型:填空:基础(单句,问答),表格,图(示意图,流程图,地图)选择配对:多选、单选、配对琐碎生活类对话。例如租房,开账户,报名,看病等,主要目的都是为了让你填写资料,数字,人名地名等。主要就是拼写单词,难度不高,争取全对。文化生活类独白。

银晗的学习博客 4873

虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)

内容概要:本文提供了“虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型”的Simulink仿真实现方法,系统阐述了如何通过仿真手段研究VSG在电力系统中的动态响应特性,重点聚焦于其惯量与阻尼的自适应控制策略。文中详细说明了模型构建流程,涵盖控制算法设计、参数调节、根轨迹分析等内容,并通过对比不同调节系数下的系统响应,深入探讨了控制参数对系统稳定性与动态性能的影响。该仿真模型有效复现了VSG模拟传统同步发电机惯性与阻尼特性的能力,对于提升新能源并网系统的频率稳定性和抗扰动能力具有重要研究价值。; 适合人群:具备电力系统、自动化或相关领域基础知识,从事新能源并网、微电网控制、电力电子与电力系统仿真研究的研究生、科研人员及工程师。; 使用场景及目标:①用于教学与科研中深入理解虚拟同步发电机的工作原理及其在现代电力系统中的应用;②为新能源发电系统接入电网时的稳定性分析与控制策略设计提供仿真验证平台;③支持对VSG控制参数进行优化,提升系统应对负荷波动和扰动的能力。; 阅读建议:建议读者结合Matlab/Simulink软件动手实践,按照文档结构逐步搭建仿真模型,重点关注控制环路设计与参数整定部分,同时参考提供的代码与仿真结果进行对比分析,以加深对VSG自适应控制机制的理解。

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文介绍了“两相交错并联Boost电路仿真模型(Simulink仿真实现)”的技术资源,属于电力电子变换器领域的仿真研究内容。该模型基于Simulink平台构建,旨在深入分析两相交错并联Boost电路的工作原理、动态响应特性及控制策略。交错并联结构通过错开各相开关管的导通时刻,有效降低输入电流纹波、提升系统效率与功率密度,适用于中高功率DC-DC变换应用场景。资源包含完整的主电路建模、PWM驱动信号生成、闭环控制器设计(如电压/电流双闭环控制)等关键模块,并可能涵盖软启动、均流控制等关键技术问题。整个仿真模型强调理论分析与工程实践的紧密结合,不仅有助于理解电路基本行为,也为优化控制算法提供验证平台,服务于科研与教学需求。; 适合人群:电气工程、自动化、电力电子及相关专业的高校本科生、研究生,以及从事电源系统研发的工程技术人员,具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:① 学习和掌握两相交错并联Boost电路的拓扑结构、工作机理及性能优势;② 利用Simulink进行电力电子电路的建模与仿真,深入理解PWM控制、闭环调节、均流控制等核心技术的应用;③ 为科研项目、课程设计或毕业设计提供可复用的仿真案例和技术支持,辅助开展中高功率电源系统的创新设计与优化研究。; 阅读建议:建议结合Simulink软件动手搭建并调试模型,通过调整占空比、开关频率、电感参数等变量,观察其对输入电流纹波、输出电压稳定性及动态响应的影响,以深化对电路特性的理解;同时可参考文中列出的其他相关资源(如LLC、PFC等仿真模型)进行横向对比学习,拓宽电力电子系统设计视野。

【上中课程】词云Word Cloud(标签云、词频分析、文本分析)的实现——应用jieba库和wordcloud库

词云,又称文字云、标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思。常见于博客、微博、文章分析等。 基本概念: 1.语 料 库:预料库是我们要分析的所有文档的集合 2.中文分词:指的是将一个汉字序列切成一个一个单独的词 3.停 用 词:数据处理的时候,自动过滤掉某些字或词...

安徐正静 2927

【ROS2】MOMO的鱼香ROS2(三)ROS2入门篇——ROS2第一个节点

【ROS2】MOMO的鱼香ROS2(三)ROS2入门篇——ROS2第一个节点

qq_44703886的博客 3624

中文语料库

https://www.jianshu.com/p/206caa232dedhttps://blog.youkuaiyun.com/m0epNwstYk4/article/details/78840688http://www.sogou.com/labs/resource/cs.php

JiaJia 4376

1.1.4 运用防火墙实现入侵防御

摘要:本文详细介绍了某公司网络拓扑中防火墙FW1的配置过程。主要内容包括:1)通过web界面登录防火墙;2)配置三个接口的IP地址及所属安全区域;3)创建两个入侵防御配置文件(anti_untrust和anti_trust);4)配置安全策略untrust2dmz和trust2dmz,分别允许公网/内网访问WWW服务器;5)保存配置。操作步骤配有详细截图说明,涉及接口配置、安全区域划分、入侵防御策略设定等关键环节,最终实现内外网对服务器Server1的安全访问控制。(149字)

Ljs040411的博客 2135

基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践指南

本文详细介绍了基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践方法。通过搭建仿真模型、设计扰动注入策略和FFT分析,精确提取阻抗特性,有效预测系统稳定性,为新能源并网系统设计提供可靠指导。

gold的博客 776

国内外最好的语料库汇总

语料在语言学科研究和深度学习中都至关重要,下面对常用的语料库资源进行总结:部分信息来源于其他博客,但是本文会保持持续更新Open Speech and Language Resources http://www.openslr.org/resources.php更新(2020年6月10):若干开源语音数据库: https://blog.ailemon.me/2018/11/21/free-open-source-chinese-speech-datasets/更新2020/10/23AISHELL-3 高保

3万+

别再只调电位器了!用单片机PWM控制LM317输出电压,精度和玩法都多了

本文探讨了如何利用单片机PWM控制LM317输出电压,替代传统的电位器调节方案。通过PWM信号的有源滤波和运放处理,实现了更高精度(±5mV)、更好温度稳定性(0.01%/°C)的数控稳压电源设计,支持远程控制和可编程曲线输出,为经典电路注入数字化智能。

weixin_29164497的博客 360

中文语料库有哪些

中文自然语言处理开放平台 由中国科学院计算技术研究所·数字化室&软件室创立一个研究自然语言处理的一个平台,里面包含有大量的训练测试语料。 语料库:http://www.nlp.org.cn/docs/doclist.php?cat_id=9&type=15 文本语料库:http://www.nlp.org.cn/docs/doclist.php?cat_id=16&amp...

飘过的春风 2万+

从零构建2.4G无线通信系统:MSPM0G3507与NRF24L01的深度协同设计

本文详细介绍了基于MSPM0G3507微控制器与NRF24L01射频模块构建2.4G无线通信系统的深度协同设计方案。内容涵盖系统架构、SPI通信优化、功耗管理、抗干扰机制及中断/DMA高效利用,为工业物联网应用提供高可靠、低功耗的无线传输解决方案。

rice5的博客 824

大数据合规工程师必备的7项核心技能

当我们谈论“大数据”时,往往先想到它的价值——驱动业务增长、优化用户体验、赋能智能决策。大数据的价值越大,其合规风险的“重量”就越重。2023年,全球有超过120个国家出台了数据保护法规,中国《个人信息保护法》《数据安全法》的实施进入深水区,欧盟GDPR的罚款金额屡创新高(最高达全球营收的4%)。企业面临的合规压力,早已从“被动应对监管”升级为“主动构建合规能力”。在这样的背景下,大数据合规工程师。

SuperAGI2025 1261

果壳网科学人文章采集爬虫分享

大数据时代必备技能 - 神箭手云爬虫 -一站式云端通用爬虫开发平台 神箭手云爬虫多样化采集网页内容,快速产生大量而优质的内容。 1.打开神箭手云爬虫官网 2.创建爬虫任务 (1) 在首页点击“爬虫市场”,在神箭手云市场中搜索果壳网; (2)找到果壳网科学人文章采集爬虫,点击“免费获取”; 3.管理爬虫 成功获取果壳网科学人文章采集爬虫

qq_35994328的博客 1027

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 371

SSR(服务器渲染)和BSR(客户端渲染)及 SEO(搜索引擎优化)

SSR:服务端渲染 M+V发生在服务器端, 对营销推广要求较高的产品,会使用SSR,比如企业官网 1) 服务器的压力更大 2) 页面访问和显示速度更快(DOM少) 3) 有利于SEO搜索引擎优化(有利于公司品牌和业务的推广) 4) 前端不分离,对后端工程师要求更高,工作量更大 5) 功能比较简单的产品,交互简单的产品 BSR:客户端渲染 M+V发生在客户端 对营销推广要求不高的产品,使用BSR,比如管理系统 1)客户端压力较大 2)页面加载速度更慢(DOM多) 3)不利于SEO优化 4)前后端分离,便于

qq_44951057的博客 881

基于GELAN模块的YOLOv8改进-C2f结构替换与轻量化与高效涨点优化研究

本文详细探讨了在YOLOv8架构中利用YOLOv9的GELAN模块替换C2f结构的改进方法。轻量化版本在资源受限的场景中具有显著的推理效率提升,适用于边缘设备和移动端应用。高效涨点版本则在检测精度上实现了大幅突破,特别适合高精度要求的任务。实验结果显示,GELAN模块相比原C2f模块,在参数量与计算量间取得了更好的平衡,同时提升了检测性能。此外,本文还展示了结构图、训练代码和部署优化方案,为研究者和开发者提供了实践参考。

博客 1439

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

搜索引擎-语料库

语料库通常指为语言研究收集的、用电子形式保存的语言材料,由自然出现的书面语或口语的样本汇集而成,用来代表特定的语言或语言变体。经过科学选材和标注、具有适当规模的语料库能够反映和记录语言的实际使用情况。人们通过语料库观察和把握语言事实,分析和研究语言系统的规律。语料库已经成为语言学理论研究、应用研究和语言工程不可缺少的基础资源。语料库有多种类型,确定类型的主要依据是它的研究目的和用途,这一点往往能够

John.Deng的专栏 2052

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

针对搜索引擎爬虫的欺骗式SSR

玩Google Webmasters的可能会有这种经历。自己开发的app用了Vue/React,写完后用Fetch as Google一爬傻眼了,爬不到东西。 网上搜解决方案出来的都是一堆额外的SSR框架,要上node,还看起来麻烦的要死。对于已经完成的项目,为了让搜索引擎爬虫能爬几个页面,又是改前端代码,又是改后端语言真的是郁闷。 一种...

weixin_34383618的博客 954

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第一章 获取语料库

1.获取文本语料通过import nltk.book 访问定义好的文本通过nltk.corpus.gutenberg.fileids()访问古藤堡项目的文件from nltk.corpus import gutenburg        emma=gutenburg.fileids()       print(emma)  emma=gutenburg.words('austen-emma.txt...

u011588619的博客 2442

一个朴素的搜索引擎实现

今天我们要使用 Lucene 来实现一个简单的搜索引擎,我们要使用上一节爬取的果壳网语料库来构建索引,然后在索引的基础上进行关键词查询。上一节果壳网的语料库放在了 Red...

codehole_的博客 754

搜索引擎白给你shell

经典的用户名密码'or'='or''or'1'='1网上好多这样的文章我的只不过是来个小总结,恩其实光是总结还不够,因为我写的还不是很全面。其实搜索这些漏洞我们必须要先连接关于搜索引擎的一些语法下面给大家介绍一下inurl: 用于搜索网页上包含的URL. 这个语法对寻找网页上的搜索,帮助之类的很有用. intext: 只搜索网页<body>部分中包含的文字(也就是...

weixin_33726318的博客 620
上一篇: 字节跳动面试题 —— 史莱姆变形计
下一篇: 5折抢购最后一天 | 戴尔顶级配置电脑,限时秒!
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值