BeautfulSoup:无法获得所有图像src

时间:2018-09-11 14:11:34

标签: python web-scraping beautifulsoup

我试图从网站上获取所有图像,有时BeautifulSoup不能从HTML中获取每个src属性。

示例:

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

代码很简单,但我无法在此网站上获得滑块的网址,它适用于除以下图片之外的所有图片:

<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 个答案:

答案 0 :(得分:1)

检查源代码,您将看到没有指定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'])