如何使用 Beautiful Soup 和 python 抓取图像
How can I scrape the image using Beautiful Soup and python
我正在尝试从下方 link 抓取图像 link,但我无法
我用过下面的代码
x = ' https://www.online.citibank.co.in/credit-card/rewards/citi-rewards-credit-card?eOfferCode=INCCCCTWAFCTRELM'
html = urlopen(x)
soup = BeautifulSoup(html, 'lxml')
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image"))
输出:
<img _ngcontent-c11="" alt="Citi Logo" class="logo" crossorigin="anonymous" src="https://www.cdn.citibank.com/v1/ingcb/cbol/files/images/logos/logo.png?_bust=2021-01-21T05-05-29-195Z"/>
但是我得到的 src 中的 link 是错误的,它不是图像 link.
HTML 代码中突出显示的部分是图像 link 所在的位置。
如果我得到正确的代码来抓取图像,我会很高兴 link。
应该使用哪个标签才能获得准确的图像link?
任何人都可以帮助我使用替代代码来获得所需的结果吗?
根据@baduker 评论卡图像是由 JS 动态添加的,因此 bs4 在源代码中看不到这个 HTML.so 你应该尝试 selenium 和 bs4
from bs4 import BeautifulSoup
from urllib.request import urlopen
from selenium import webdriver
x = ' https://www.online.citibank.co.in/credit-card/rewards/citi-rewards-credit-card?eOfferCode=INCCCCTWAFCTRELM'
wb = webdriver.Chrome()
wb.get(x)
soup = BeautifulSoup(wb.page_source, 'lxml')
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image"))
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image").find('img').get('src'))
要安装 selenium,运行 在您的终端中或按照上述 link。
pip install selenium
我正在尝试从下方 link 抓取图像 link,但我无法
我用过下面的代码
x = ' https://www.online.citibank.co.in/credit-card/rewards/citi-rewards-credit-card?eOfferCode=INCCCCTWAFCTRELM'
html = urlopen(x)
soup = BeautifulSoup(html, 'lxml')
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image"))
输出:
<img _ngcontent-c11="" alt="Citi Logo" class="logo" crossorigin="anonymous" src="https://www.cdn.citibank.com/v1/ingcb/cbol/files/images/logos/logo.png?_bust=2021-01-21T05-05-29-195Z"/>
但是我得到的 src 中的 link 是错误的,它不是图像 link.
HTML 代码中突出显示的部分是图像 link 所在的位置。 如果我得到正确的代码来抓取图像,我会很高兴 link。
应该使用哪个标签才能获得准确的图像link?
任何人都可以帮助我使用替代代码来获得所需的结果吗?
根据@baduker 评论卡图像是由 JS 动态添加的,因此 bs4 在源代码中看不到这个 HTML.so 你应该尝试 selenium 和 bs4
from bs4 import BeautifulSoup
from urllib.request import urlopen
from selenium import webdriver
x = ' https://www.online.citibank.co.in/credit-card/rewards/citi-rewards-credit-card?eOfferCode=INCCCCTWAFCTRELM'
wb = webdriver.Chrome()
wb.get(x)
soup = BeautifulSoup(wb.page_source, 'lxml')
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image"))
print(soup.find('div', class_ = "m-top-sm block-hero-art-2 display-image").find('img').get('src'))
要安装 selenium,运行 在您的终端中或按照上述 link。
pip install selenium