失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python番外篇:网络爬虫组词程序

Python番外篇:网络爬虫组词程序

时间:2023-02-02 09:45:11

相关推荐

Python番外篇:网络爬虫组词程序

今天,双是番外篇,这次番外篇主要教大家如何用网络爬虫查询词语。

1.确定数据源

首先,我们得找一个查询的数据源,我找到了360国学网站,选择“词语大全”,它的查询词语网址为:

https://guoxue./query/index/

这后面得加上亿些参数:

type = phrasetext = 圆组词word_inc = 圆

2. 给请求添加数据源网址参数

用word来代替“圆”,写成Python字典:

word = input("请输入你想组词的字:")key_dict = {'type': 'phrase','text': word+'组词','word_inc': word}

发出请求:

import requestsword = input("请输入你想组词的字:")key_dict = {'type': 'phrase','text': word+'组词','word_inc': word}url = 'https://guoxue./query/index/'r = requests.get(url, params=key_dict)print(r.status_code)

输出:

200

说明请求正常。

3.解析词语页面

经过分析,我们发现,所有的词语都在一个div标签中(绿色标注处),在里面,每个单独的div标签又嵌套了3个div标签,其中的一个(橙色标注处)的内容是我们需要的词语。

from bs4 import BeautifulSoup as bsimport requestsword = input("请输入你想组词的字:")key_dict = {'type': 'phrase','text': word+'组词','word_inc': word}url = 'https://guoxue./query/index/'r = requests.get(url, params=key_dict)soup = bs(r.text, 'html.parser')# 查找上图绿色标注标签div_content = soup.find("div", {'class': 'content'})# 查找上图橙色标注标签中的a标签all_title = div_content.find_all('a', {'data-logid': "ordinal_incgroup_phrases"})# 加入判断 判断all_title是否为空if all_title:# 如果all_title不为空print('\n'+word+"组词有:\n")for t in all_title:# 遍历所有a标签内容print(t.string)print("\n查看更多信息可前往:\n"+r.url)else:print("\n组词内容无法查询到!")

4.测试代码

以上就是我们今天全部的代码,我们来试着运行亿下:

请输入你要查询的字:圆

圆组词有:

圆滑

方圆

圆通

团圆

珠圆玉润

方枘圆凿

破镜重圆

事宽即圆

圆润

自圆其说

查看更多信息可前往:

https://guoxue./query/index/?type=phrase&text=%E5%9C%86%E7%BB%84%E8%AF%8D&word_inc=%E5%9C%86

针不戳,那今天的课程就到这儿了,感兴趣的可以爬取词语拼音或解释,有什么问题请在评论区讨论,喜欢的话可以收藏一下,再见!

另外,不了解requests模块和BeautifulSoup4模块的可以前往笔者的Python:第三方库requests 和 Python:第三方库BeautifulSoup4去看看。

如果觉得《Python番外篇:网络爬虫组词程序》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。