python构建智能机器人系列博文---借助于浏览器自动化技术实现网页内容的自动检索


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值即可。

    1. 按照F12后显示网页源码:
      在这里插入图片描述
    2. 点击右侧黑界面左上角的小箭头,并将光标移至坐标特定的组件处,右侧即可以选中特定的源码,查看id即可
      在这里插入图片描述
    3. 查看其中的id,此处以搜素框为例,查看id = kw
      在这里插入图片描述
               ~~~~~~~~         借助于上述方法即可定位至输入框和搜索按键,id分别为kwsu
  • 定位至组件后,借助于send_keys()方法和click()方法即可实现内容的输入和按键的点击,本质上模拟人类的操作,即可完成指定内容的检索

四、总结反思:

         ~~~~~~~~         代码总体比较简单,了解网络爬虫的同学可能会比较熟悉。OK,网页检索功能实现,下一篇博文讲解音乐播放,自动消息发送如何实现。
         ~~~~~~~~         参考链接:https://blog.csdn.net/DALEONE/article/details/125197018?spm=1001.2014.3001.5501

猜你喜欢

转载自blog.csdn.net/DALEONE/article/details/125196888