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

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

准备工作

我们在百度输入信息,例如矿泉水和纯净水区别百度会有两部分的联想词。 第一部分 我们成为下拉搜索词。
微信截图_20230711145538.png
微信截图_20230711145538.png
如果想要提取这类词对于我们可以使用正则表达式来提取,或者使用其他方法,不过这里针对新手和程序简易性暂不太友好,所以今天我们暂且不讨论,那么就有了我们接下来的教程,提取相关搜索词语,也就是这一部分。
eb8d5409d8740b79e830c46c7a6d97a.png
eb8d5409d8740b79e830c46c7a6d97a.png
这一类词语呢,因为是直接在网页源代码里,所以可以更清楚的分析他的结构,当然了,这套技能在以后的网页爬虫里是绝对逃不掉的一套提取方法。二话不说,直接右键审查元素找到当前结构目录。
f69d027264f39d00449ec4f63517c49.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
1.png
至此,一个简易的以词搜词的 Python 爬虫脚本就写好了,具体反爬等情况,还因人而异。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

作者: 吃个甘蔗嚼一年 发表日期:2023 年 7 月 11 日