Python Selector Yardım

Merhaba ;
Pazar yeri sitelerinden (n11 hepsiburada trendyol tarzı) aratılan ürünlerin en uygununu bulmak için ufak bir şey hazırlamaya uğraştım satıcı adını en ucuz olandan alıyor fakat ürün başlığı ve fiyat olarak başka üründen data alıyor
parsel selector kütüphanesinden anlayan varsa veya başka türllü yardım edebilecek biri varsa sevinirim

# -*- coding: utf-8 -*-

import requests
from parsel import Selector
import re
ara=input("aranacak ürün : ").replace(" ","+")

birles="https://www.n11.com/arama?q={}&srt=PRICE_LOW".format(ara)
target_url=birles

headers = {
    'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'
}

response = requests.get(target_url, headers=headers)

print(birles)

if response.status_code == 200:

    print('Bağlantı kuruldu!')
    print("*"*14)
    print(" ")
    selector = Selector(response.text)
    REGEX = re.compile('<.*?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});')
    isim = selector.xpath('//*/div[1]/a/h3').get()
    magaza = selector.xpath('//*/a/span[2]').get()
    price = selector.xpath('//*/div[2]/a/ins').get()

    print('ÜRÜN DETAYLARI:')
    print('Ürün Adı: ', REGEX.sub('', isim).strip())
    print('Mağaza: ', REGEX.sub('', magaza).strip())
    print('Fiyatı: ', REGEX.sub('', price).strip())


else:
    print('Bağlantı kurulamadı! HTTP Kodu: ', response.status_code)

Acaba xpath kullanmanızdan kaynaklanıyor olabilir mi? Dinamik olarak yüklenen siteler için hatalı kullanımı kolay. response.text'i veya sitenin kendisi inceleyerek xpath larınızın doğru elementleri seçtiğinden emin olun bence.

1 Beğeni

dediğin gibi fullxpath alınca oldu :clap:

1 Beğeni