Author:qyan.li
Date:2022.6.3
Topic:借助于网页自动化技术实现指定内容的网页检索
一、写在前面:
~~~~~~~~
这篇是python
构建智能机器人系列的第二篇文章,主要功能是借助于浏览器自动化技术实现网页指定内容的检索,来作为智能机器人的另外一个功能实现。
~~~~~~~~ 后续大概还会有三篇左右的文章来介绍系统其他的功能实现,需要的同学可以持续关注一下,每部分都会给出分代码,完整的代码待整理完成后会在最后一篇博文中提供。
二、系统准备:
~~~~~~~~
由于旨在利用浏览器自动化实现网页内容的检索,因此必须配置浏览器自动化的工具。由于自己配置的时间较为久远,详细的步骤已无法记起(好像是需要到指定网页下载和浏览器匹配的驱动文件),因此在此不详述,CSDN
上配置博文很多,读者可自行搜索配置。windows
系统上的配置相对较为简单。
三、系统实现:
~~~~~~~~ 老样子,还是先上代码,方便大家参考借阅。
## 自动内容检索
def SearchInternet(ObjectContent):
'''
:param ObjectContent:待检索的目标内容
:return: None
'''
driver = webdriver.Firefox()
url = 'http://www.baidu.com'
driver.get(url)
# 最大化窗口(方便后续定位搜索框)
driver.maximize_window()
'''不同的浏览器,此处的标签驱动不同(可从网页源码分析)'''
# 输入框定位和内容输入
shuru = driver.find_element_by_id('kw')
shuru.send_keys(ObjectContent)
time.sleep(2)
# 内容检索
sousuo = driver.find_element_by_id('su')
sousuo.click()
time.sleep(2)
对代码中的部分内容进行解析和讲解:
-
driver = webdriver.Firefox()
由于个人电脑浏览器自动化配置为火狐浏览器,所以此处调用时为Firefox
,如果配置其他自行修改 -
driver.get('http://www.baidu.com')
理论上将如果配置成功,代码运行至此处即可以正常打开浏览器并跳转至百度首页 -
driver.find_element_by_id()
方法可以通过id
值定位到页面上的特定组件,但是id
值怎么寻找呢?按下F12
查看网页源码查找对应组件的id
值即可。- 按照F12后显示网页源码:
- 点击右侧黑界面左上角的小箭头,并将光标移至坐标特定的组件处,右侧即可以选中特定的源码,查看
id
即可
- 查看其中的id,此处以搜素框为例,查看
id = kw
~~~~~~~~ 借助于上述方法即可定位至输入框和搜索按键,id
分别为kw
和su
- 按照F12后显示网页源码:
-
定位至组件后,借助于
send_keys()
方法和click()
方法即可实现内容的输入和按键的点击,本质上模拟人类的操作,即可完成指定内容的检索
四、总结反思:
~~~~~~~~
代码总体比较简单,了解网络爬虫的同学可能会比较熟悉。OK,网页检索功能实现,下一篇博文讲解音乐播放,自动消息发送如何实现。
~~~~~~~~
参考链接:https://blog.csdn.net/DALEONE/article/details/125197018?spm=1001.2014.3001.5501