在这篇文章中,我将教你如何使用百度搜索引擎来实现以词搜词的目的。无论是为了拓展词汇量、进行主题扩展,还是进行学习和研究,这个技巧都会让你更加高效地获取相关信息。利用百度搜索的工作原理和搜索算法,以便更好地理解搜索结果的生成过程。接下来,我会分享一个简单而有效的方法,让你能够通过一个关键词或短语来搜索到与之相关的词汇。
当我们使用某个词语进行搜索的时候,时常获取不到我们想要的信息,这种情况下,大多数人除了换一种语义进行搜索,还有一些人会选择直接查看搜索引擎返回给你的相关搜索词语(相关搜索)。如果我们需要这些词语,应该如何把他提取出来呢?
准备工作
我们在百度输入信息,例如矿泉水和纯净水区别
百度会有两部分的联想词。
第一部分 我们成为下拉搜索词。
如果想要提取这类词对于我们可以使用正则表达式
来提取,或者使用其他方法,不过这里针对新手和程序简易性暂不太友好,所以今天我们暂且不讨论,那么就有了我们接下来的教程,提取相关搜索
词语,也就是这一部分。
这一类词语呢,因为是直接在网页源代码里,所以可以更清楚的分析他的结构,当然了,这套技能在以后的网页爬虫里是绝对逃不掉的一套提取方法。二话不说,直接右键审查元素
找到当前结构目录。
这个时候我们可以看到,鼠标放在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)
后续程序运行输出
['耐寒喜阴的室外绿植有哪些', '满天星的养殖方法和注意事项有哪些', '满天星会自己繁殖吗', '满天星不开花怎么回事', '满天星盆栽养殖方法', '满天星放家里吉不吉利', '金
枝玉叶养护方法', '满天星养殖方法及注意事项', '绿公主的养殖方法和注意事项', '满天星花卉的养殖方法']
至此,一个简易的以词搜词的Python爬虫脚本就写好了,具体反爬等情况,还因人而异。