代码之家  ›  专栏  ›  技术社区  ›  jjyoh

beautfulsoup:无法获取所有的image-src

  •  1
  • jjyoh  · 技术社区  · 6 年前

    我试图从一个网站上获取每一张图片,但有时“靓汤”并不能获得每一张 src 来自HTML的属性。

    例子:

    data = requests.get('https://www.qmedichealth.com/')
    soup = BeautifulSoup(data.text, 'html.parser')
    img = soup.find_all('img')
    

    代码很简单,但是我不能在这个网站上获得滑块的URL,它适用于除以下图片以外的所有图片:

    <img alt="image description" style="width: 1583px; margin-left: 0px; height: 1055.33px; margin-top: -0.166667px;" src="https://cdn.shopify.com/s/files/1/0970/0888/t/3/assets/img07.jpg">
    

    我实际得到的: <img alt="image description"/>

    你知道这种行为吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   iamklaus    6 年前

    检查您将看到的源代码没有给出SRC..因为它是在运行时呈现的,所以像Selenium这样的东西会很有用。

    from bs4 import BeautifulSoup
    from selenium import webdriver
    
    browser = webdriver.Chrome('path to chrome driver') 
    
    在此处下载Chrome驱动程序

    http://chromedriver.chromium.org/downloads

    browser.get('https://www.qmedichealth.com/')
    data = BeautifulSoup(browser.page_source)
    
    #All the Src
    for src in data.find_all('img'):
        print(src['src'])