扩展词库秘籍:Python利用百度搜索引擎实现以词搜词

简介: 在这篇文章中,我将教你如何使用百度搜索引擎来实现以词搜词的目的。无论是为了拓展词汇量、进行主题扩展,还是进行学习和研究,这个技巧都会让你更加高效地获取相关信息。利用百度搜索的工作原理和搜索算法,以便更好地理解搜索结果的生成过程。接下来,我会分享一个简单而有效的方法,让你能够通过一个关键词或短语来搜索到与之相关的词汇。

在这篇文章中,我将教你如何使用百度搜索引擎来实现以词搜词的目的。无论是为了拓展词汇量、进行主题扩展,还是进行学习和研究,这个技巧都会让你更加高效地获取相关信息。利用百度搜索的工作原理和搜索算法,以便更好地理解搜索结果的生成过程。接下来,我会分享一个简单而有效的方法,让你能够通过一个关键词或短语来搜索到与之相关的词汇。

当我们使用某个词语进行搜索的时候,时常获取不到我们想要的信息,这种情况下,大多数人除了换一种语义进行搜索,还有一些人会选择直接查看搜索引擎返回给你的相关搜索词语(相关搜索)。如果我们需要这些词语,应该如何把他提取出来呢?

准备工作

我们在百度输入信息,例如矿泉水和纯净水区别百度会有两部分的联想词。
第一部分 我们成为下拉搜索词。

微信截图_20230711145538.png

如果想要提取这类词对于我们可以使用正则表达式来提取,或者使用其他方法,不过这里针对新手和程序简易性暂不太友好,所以今天我们暂且不讨论,那么就有了我们接下来的教程,提取相关搜索词语,也就是这一部分。

eb8d5409d8740b79e830c46c7a6d97a.png

这一类词语呢,因为是直接在网页源代码里,所以可以更清楚的分析他的结构,当然了,这套技能在以后的网页爬虫里是绝对逃不掉的一套提取方法。二话不说,直接右键审查元素找到当前结构目录。

f69d027264f39d00449ec4f63517c49.png

这个时候我们可以看到,鼠标放在table标签上,元素自动概括了整个我们需要的地方,然后我们挨个挨个向下查找他的子元素,这时候我们列出一个顺序。
1、找到table标签。
2、找到子级的td他的类名为rs-col_8Qlx- 所以我这里就直接索性使用这个类名直接查询了。
3、找到a标签,提取它的title

好了这一步的准备工作我们就完成了,接下来就开始编码环节。(省略无关代码)

编码环节

#导入http请求库request
import requests


# 模拟词语
selected_keys = ['康乃馨的养殖方法','昙花的养殖方法','满天星花怎么养殖方法']
# 构造请求的网址
for keywords in selected_keys:
    url = f"http://www.baidu.com/s?wd={keywords}"
    # run_getiCookie这个是我自己模拟的headers 新手直接网上随便复制就可以了。一般带上User-Agent,Accept,Host 就ok
    response = requests.get(url, headers=run_getiCookie(response.url))
    response.raise_for_status()
    soup = BeautifulSoup(response.content, "html.parser")

这一步操作呢,就成功了发送了请求,这个时候我们只需要去解析我们拿到的网页代码就好了。

for keywords in selected_keys:
    #...省略相关代码 pass
    # 查找包含相关词语的<td>标签
    td_tags = soup.find_all("td", class_="rs-col_8Qlx-")
    # 提取相关词语
    related_words = []
    for td_tag in td_tags:
        a_tag = td_tag.find("a")
        if a_tag:
            related_words.append(a_tag["title"])
    # 输出结果
    print(related_words)

后续程序运行输出

['耐寒喜阴的室外绿植有哪些', '满天星的养殖方法和注意事项有哪些', '满天星会自己繁殖吗', '满天星不开花怎么回事', '满天星盆栽养殖方法', '满天星放家里吉不吉利', '金
枝玉叶养护方法', '满天星养殖方法及注意事项', '绿公主的养殖方法和注意事项', '满天星花卉的养殖方法']

1.png

至此,一个简易的以词搜词的Python爬虫脚本就写好了,具体反爬等情况,还因人而异。

本文同步我的技术文档

相关文章
|
12天前
|
数据采集 监控 搜索推荐
基于python的百度资讯爬虫的设计与实现
本文介绍了一个基于Python语言的网络爬虫设计与实现,该爬虫利用urllib.request和BeautifulSoup库从百度新闻中抓取新闻标题、链接、内容摘要和来源信息,通过模拟浏览器行为和添加随机等待时间来规避反爬机制,为新闻数据分析和舆情监控提供支持。
|
12天前
|
数据采集 存储 自然语言处理
【优秀python案例】基于百度贴吧的数据采集与文本分析设计与实现
本文介绍了百度贴吧数据采集与文本分析的设计与实现,包括自动化采集帖子数据、进行情感分析和主题分析,以及使用可视化技术展示分析结果。
|
14天前
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
|
14天前
|
数据采集 网络协议 索引
Python 爬虫技巧:百度页面重定向的自动跟踪与处理
Python 爬虫技巧:百度页面重定向的自动跟踪与处理
|
17天前
|
测试技术 程序员 开发者
探索代码整洁之道:编写可维护和可扩展的Python程序
【8月更文挑战第3天】在编程的海洋中,我们经常追求的是那些能够高效运行、易于理解和维护的代码。本文将深入探讨如何通过遵循一系列的最佳实践来提升Python代码的整洁度,从而增强其可维护性和可扩展性。我们将通过具体示例,展示如何应用这些原则来编写更优雅、更健壮的Python程序。
11 0
|
2月前
|
数据安全/隐私保护 Python
Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。
【6月更文挑战第20天】Python装饰器是高阶函数,用于在不修改代码的情况下扩展或修改函数行为。它们提供可重用性、模块化和无侵入性的功能增强。例如,`@simple_decorator` 包装`my_function`,在调用前后添加额外操作。装饰器还能接受参数,如`@logged(&quot;INFO&quot;, &quot;msg&quot;)`,允许动态定制功能。
25 6
|
1月前
|
存储 数据可视化 数据处理
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
`geopandas`是一个开源项目,它为Python提供了地理空间数据处理的能力。它基于`pandas`库,并扩展了其对地理空间数据(如点、线、多边形等)的支持。`GeoDataFrame`是`geopandas`中的核心数据结构,它类似于`pandas`的`DataFrame`,但包含了一个额外的地理列(通常是`geometry`列),用于存储地理空间数据。
|
2月前
|
数据采集 存储 中间件
Scrapy,作为一款强大的Python网络爬虫框架,凭借其高效、灵活、易扩展的特性,深受开发者的喜爱
【6月更文挑战第10天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程及中间件机制提升爬取效率。它提供丰富组件和API,支持灵活的数据抓取、清洗、存储,可扩展到各种数据库。通过自定义组件,Scrapy能适应动态网页和应对反爬策略,同时与数据分析库集成进行复杂分析。但需注意遵守法律法规和道德规范,以合法合规的方式进行爬虫开发。随着技术发展,Scrapy在数据收集领域将持续发挥关键作用。
83 4
|
2月前
|
自然语言处理 Python
python基于百度,哈工大等停用表进行的中文分词
python基于百度,哈工大等停用表进行的中文分词
|
2月前
|
文字识别 API C++
技术好文共享:编写Tesseract的Python扩展
技术好文共享:编写Tesseract的Python扩展
17 0