美文网首页Pythonweb常用技能
Selenium抓取HTML代码中的可用数据

Selenium抓取HTML代码中的可用数据

作者: 巴鶴 | 来源:发表于2021-02-12 21:22 被阅读0次

    爬取数据时有时候返回的HTML代码中确并没有可用数据,解决此问题可通过
    Selenium浏览器自动化测试框架实现获取HTML代码中的可用数据。

    思路分析--实现步骤

    • 通过pip或其他方式安装selenium模块。


      安装selenium.png
    • 安装bs4库


      安装bs4库.png
    • 在浏览器关于窗口中查看当前浏览器的版本,如图所示


      Google Chrome浏览器版本.png
    • 打开“http://chromedriver.storage.googleapis.com/index.html”网页地址,选择浏览器对应版本的驱动,这里可以选择版本号前两位相同的任意一个驱动
    • 浏览器驱动下载完成后,将chromedriver.exe文件解压在python的安装路径下即可


      驱动下载.png
      放置在Python安装路径下.png

    代码参考

    • 导入webdriver模块与BeautifulSoup模块,然后创建浏览器驱动参数对象,并设置相关属性,再发送网络请求,最后解析返回的HTML代码并打印关键代码部分。
    """
    @Time : 2021/2/12 21:13
    @Auth : Yvon~早安阳光
    @File :SeleniumHtm
    """
    from selenium import webdriver  # 导入浏览器驱动模块
    from bs4 import BeautifulSoup  # 导入解析HTML代码模块
    url = 'https://www.jianshu.com/u/cd9f63a63e4b'
    
    try:
        # 浏览器驱动参数对象
        chrome_options = webdriver.ChromeOptions()
        # 不加载图片
        prefs = {"profile.managed_default_content_settings.images": 2}
        chrome_options.add_experimental_option("prefs", prefs)
        # 使用headless无界面浏览器模式
        chrome_options.add_argument('--headless')
        chrome_options.add_argument('--disable-gpu')
        # 加载谷歌浏览器驱动,填写自己浏览器驱动的实际路径
        driver = webdriver.Chrome(options=chrome_options,
                                  executable_path='D:/Python38/chromedriver')
        driver.get(url)  # 发送网络请求
        html = driver.page_source  # 获取页面html源代码
        # print(html)
        html = BeautifulSoup(html, "html.parser")  # 解析html代码
        # 打印HTML代码中的关键代码
        # print(html)
        print('获取关键代码为:\n', html.find('div', class_="title"))
        driver.quit()  # 退出浏览器驱动
    
    except Exception as e:
        print('异常信息为:', e)
    
    运行结果.png

    相关文章

      网友评论

        本文标题:Selenium抓取HTML代码中的可用数据

        本文链接:https://www.haomeiwen.com/subject/squrxltx.html