我试图从网站上获取所有图像,有时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"/>
对这种行为有任何想法吗?
答案 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'])