Tarayıcıya falan gerek yok. script bilgileri de zaten sayfanın içinde yükleniyor hocam. script de aynı yerden alıyor direk kaynak dataLayer içerek javascripttir ordan almak daha mantıklı buyrun
import requests
from bs4 import BeautifulSoup
import json
def find_between(s, start, end):
return (s.split(start))[1].split(end)[0]
uri = "https://www.ciceksepeti.com/t500-akilli-saat-smart-watch-turkce-menulu-arama-cevaplama-cift-tus-aktif-kcm51543257"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
}
r = requests.get((uri), headers=headers, verify=True)
soup = BeautifulSoup(r.content, "html.parser")
# sadece scriptleri alıyorum html içinden
list_of_scripts = soup.findAll("script")
product = ""
# scriptlerin içinde bize gerekli olanı buluyoruz
for script in list_of_scripts:
if "ecomm_pagetype" in script.get_text():
product = find_between(script.get_text(),'dataLayer = [','];')
break
# script içindeki dict python dict dönüştürdük
productdict = json.loads(product)
for item in productdict:
print(item , productdict[item])Sadece resmi almak istiyorsanız aşağıdaki komutta yeterli
print(productdict['productImage'])