BeautifulSoup ve Requests ile sahibinden.com'un kaynak kodlarını alamamak

Herkese merhaba, sahibinden.com sitesinin kaynak kodlarını çekmeye çalışıyorum. Fakat chrome ile sayfa kaynağını görüntülediğimde, requests ile çektiğim kaynak kodlar farklı geliyor (chromeda görünen şekliyle sayfa kaynağını gelmiyor) bunun sebebi ne olabilir?

Siteye bakmadım ama 2 ihtimal var ya sitenin açılması için javascript gerekiyor yada bot koruması var ilkiyse api scraping veya selenium kullanabilirsiniz. 2.si ise user agent eklemeyi deneyin ama kesin olmayabilir.

user agent ekledim yine olmadı, bu durumda requests ve beautifulsoup yalan oldu diyebilir miyiz?

Bende tam hakim değilim ama sanırım bs4 yalan oldu yapabiliyorsanız api scraping ile yapın daha hızlı olur seleniumdan.Api scrapingde de request kullanıyorsunuz ona yalan oldu diyemeyiz.

kodu at

2000000000000

import requests

from bs4 import BeautifulSoup

url = "https://www.sahibinden.com/satilik-daire/istanbul-bayrampasa-yildirim-yildirim-mh."

r = requests.get(url)

soup = BeautifulSoup(r.content, “html.parser”)

print(soup)

Teşekkür ederim ederim ilginiz için ama anladığım kadarıyla sahibinden.com’da güvenlik üst düzey

Yarın bilgisayara geçince denerim bende ama kesin bir şey diyemem bende çok uzman değilim bu konuda.

1 Beğeni

Sitenin döndürdüğü koda göre değerlendirmek gerekir. Eğer 403 döndürüyorsa istek bot korumasına takılıyordur, User-Agent eklemeyi deneyebilirsiniz. Ancak cloudflare gibi bir koruma varsa iş biraz zor. Ya da 200 dönmesine rağmen içerik eksik geliyorsa site JS ile de yükleniyor olabilir, bu durumda da requests_html kütüphanesini deneyebilirsiniz.

Hocam 403 geliyordu User-Agent ekledim yine olmadı muhtemelen korunuyor. Görünen o ki UIPath deneyeceğiz.

Selenium ya da Playwright kullanmalısınız hocam

Hocam selenium denedim, fakat bu sefer site otomatik girişi anlıyor güvenlik sorusu soruyor. playwright hakkında hiç bir bilgim yok.

evet selenium artık çok kolay anlaşılabiliyor siteler tarafından.
şuraya bir göz atın faydalı olacaktır. ayrıca playwright içerisinde 3 tane browser ile geliyor bunlar chromium (chrome, opera, brave gibi tarayıcıların temelini oluşturan browser), nightly(firefox) ve webkit(iosdaki safari). bunlardan nightly (firefox) olanı kullanacaksınız

1 Beğeni

İnceleyeceğim hocam, teşekkür ederim.

Sahibinden.com gibi sitelerde bot koruması var selenium veya beautifulsoup ile olmuyor ben denemiştim. arka arkaya request gönderince CAPTHCHA filan çıkıyor. Bu sorunları aşmak kolay değil . Yapay zeka ile aşılabilir diye düşünüyorum. Seleniumda denemeyin driver ı kolayca tespit edebiliyor siteler ve bazıları direk banlayabiliyor.

Hocam UIpath ile otomasyon kullanarak çekebildim selenium, scrapy, requests, bs4 işe yaramıyor. İlgilenen herkese teşekkürler.

1 Beğeni