如何在BeautifulSoup上删除产品库图像链接

2024-09-30 08:34:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用BeautifulSoup4https://www.daraz.com.bd/products/awei-y336-portable-wireless-bluetooth-mini-speaker-charging-cable-i128428097-s1048302559.html?search=1从这个网站上截取产品库图片url,但我找不到任何方法。有些产品有3个图像,有些有更多enter image description here

谁能告诉我如何使用BeautifulSoup刮取画廊图片url

这是我的密码

from selenium import webdriver
from bs4 import BeautifulSoup
browser = webdriver.Chrome()
browser.get("https://www.daraz.com.bd/products/awei-y336-portable-wireless-bluetooth-mini-speaker-charging-cable-i128428097-s1048302559.html?search=1")

soup = BeautifulSoup(browser.page_source, "html.parser")
container = soup.find_all("body")
for items in container:
        title = items.find("div",{"class":"pdp-product-title"}).text
        price = items.find('span', attrs={'class':'pdp-price'}).text.strip(" ৳")
        print(title,price)
browser.quit()

Tags: browsercomtitlehtmlwwwitemsfindprice
1条回答
网友
1楼 · 发布于 2024-09-30 08:34:24

嗯,这个页面很复杂,因为它们有很多(JavaScript)代码中嵌入的信息。好的是很容易识别图像,因为它们有一个模式:https://static-01.daraz.com.bd/p/\w+.jpg,所以我们可以使用正则表达式来提取这些URL。问题是,你可能会得到更多你想要的图像,除非你制作更多的过滤器来得到你想要的。这是一种方法,其余的都在你身上:

import requests
import json
import re
import urllib 
import os

url = 'https://www.daraz.com.bd/products/awei-y336-portable-wireless-bluetooth-mini-speaker-charging-cable-i128428097-s1048302559.html?search=1'
resp1 = requests.get(url)
text = resp1.text
images = list(set(re.findall(r"https://static-01.daraz.com.bd/p/\w+.jpg", text)))
for i, img in enumerate(images):
    urllib.request.urlretrieve(img, filename=f'img{i}.jpg')

相关问题 更多 >

    热门问题