Merhabalar, * İstanbul Voleybol İl Temsilciliği * adresinde yer alan Kurum adı listesini python ile çekmek istiyorum. Kodu aşağıdaki şekilde oluşturdum. Çalıştırdığımda -Seçiniz- şeklinde sonuç çıkıyor. Benim Kurum adı tablosunun listesini çekmem lazım. Bunu nasıl yapabilirim? Teşekkürler.
import requests
from bs4 import BeautifulSoup
Site URL’si
url = “* İstanbul Voleybol İl Temsilciliği *”
İlk GET isteği ile formu almak
response = requests.get(url)
soup = BeautifulSoup(response.content, ‘html.parser’)
Hidden input ve diğer gerekli verileri formdan alıyoruz
viewstate = soup.find(‘input’, {‘name’: ‘__VIEWSTATE’})[‘value’]
viewstategenerator = soup.find(‘input’, {‘name’: ‘__VIEWSTATEGENERATOR’})[‘value’]
POST verileri
payload = {
‘__VIEWSTATE’: viewstate,
‘__VIEWSTATEGENERATOR’: viewstategenerator,
‘__EVENTTARGET’: ‘’,
‘__EVENTARGUMENT’: ‘’,
‘ctl00$icerik$ddlsil’: ‘34’, # İli İstanbul (34)
‘ctl00$icerik$ddlsezon’: ‘2023-2024’, # Sezon 2023-2024
‘ctl00$icerik$txtTarih’: ‘01.01.2023’, # Başlangıç Tarihi
‘ctl00$icerik$ddlsbe’: ‘K’, # B & E alanında Kadın (K)
# Diğer form verileri burada eklenebilir
}
POST isteği gönderiyoruz
post_response = requests.post(url, data=payload)
post_soup = BeautifulSoup(post_response.content, ‘html.parser’)
Yanıtın içeriğini kontrol etmek
with open(‘post_response.html’, ‘w’, encoding=‘utf-8’) as f:
f.write(post_soup.prettify())
Güncellenen kurum adı listesini almak
kurum_select = post_soup.find(‘select’, {‘name’: ‘ctl00$icerik$ddlskurumadi’})
if kurum_select:
kurum_listesi = kurum_select.find_all(‘option’)
# Sonuçları ekrana yazdırmak
for kurum in kurum_listesi:
print(kurum.text)
else:
print(“Kurum adı listesi bulunamadı.”)