Selamun Aleyküm dostlar;
Web sitesinin birisinden veri çekmek istiyorum. Ama kodu çekemedim. Yardımcı olacak birisi var mı?
Web de ki çıktıyı ve kodu aşağıya koydum. Yardımcı olacak birisi olursa sevinirim.
Çıktı
<div id="tbl2" class="YeniBolme" style="width: 1010px;">
<h5>
Birim / Cihaz Bilgileri</h5>
<ul id="BirimCihazlistesi">
<li class="borderbottomli" style="padding-bottom: 0px;">
<ul>
<li class="abone"><span>Abone</span></li>
<li class="abone"><span>Abone Adı</span></li>
<li class="aboneNo"><span>Abone No</span> </li>
<li class="aboneSayac"><span>Sayaç</span></li>
<li class="Tuketim"><span>m³/h</span></li>
<li class="Basinc"><span>mbar</span> </li>
<li class="BirimAlan"><span>m²</span></li>
<li class="TesisatBaglanti"><span>Boru Tipi</span></li>
<li class="CihazBilgisi">
<ul style="width: 400px;">
<li class="ChzCihaz"><span>Cihaz</span></li>
<li class="ChzKapasite"><span>Kapasite</span></li>
<li class="ChzDebi"><span>Debi</span></li>
<li class="ChzMarka"><span>Marka</span></li>
<li class="ChzModel"><span>Model</span></li>
<li class="ChzBacaTipi"><span>Baca</span></li>
</ul>
</li>
</ul>
</li>
<li class="borderbottomli"><ul><li class="abone">D33</li><li class="abone">İSMAİL SEZİKLİ</li><li class="aboneNo">55349658</li><li class="aboneSayac">G4</li><li class="Tuketim">3.5</li><li class="Basinc">21 </li><li class="BirimAlan">66</li><li class="TesisatBaglanti">Çelik Boru</li><li class="CihazBilgisi"><ul class="CihazIcListesi"><li class="btnBorderCizli"><ul style="width: 395px;" class="btnBorderCizli"><li class="ChzCihaz">Kombi</li><li class="ChzKapasite">17200</li><li class="ChzDebi">2.5</li><li class="ChzMarka">DemirDöküm</li><li class="ChzModel">ademiX P 18/24-AS/1 (H-TR)</li><li class="ChzBacaTipi">HERMETİK</li></ul></li><li class="btnBorderCizli"><ul style="width: 395px;" class="btnBorderCizli"><li class="ChzCihaz">Ocak</li><li class="ChzKapasite">7740</li><li class="ChzDebi">1.6</li><li class="ChzMarka"></li><li class="ChzModel"></li><li class="ChzBacaTipi">AÇIK</li></ul></li></ul> </li> <li class="TesisatBaglanti"><a href="http://rapor.zetacad.com/AboneBilgilendirmeRaporu.aspx?pid=10037742&bid=16237781" target="_blank"><img src="http://rapor.zetacad.com/images/digerleri.svg" alt="AboneRapor"></a></li></ul> </li>
</ul>
</div>
Kod:
# JSON formatına çevir ve ekrana yazdır
json_data = json.dumps(values_dict, indent=4, ensure_ascii=False)
print(json_data)
# Belirli bir elementi bul
ul_element = soup.find('ul', id='BirimCihazlistesi')
# Değerleri saklamak için boş bir sözlük oluştur
values_dict = {}
# İstenen özelliklerin listesi
properties = ['Abone', 'Abone Adı', 'Abone No', 'Sayaç', 'm³/h', 'mbar', 'm²', 'Boru Tipi', 'Cihaz', 'Kapasite', 'Debi', 'Marka', 'Model', 'Baca']
# İstenen özellikleri bulup values_dict'e ekleyin
for li_element, prop in zip(ul_element.find_all('li', recursive=False)[1:], properties):
value = li_element.text.strip()
if value:
values_dict[prop] = value
# Çıktıları ayrı dictionary'ler olarak saklamak için liste oluştur
output_list = [{prop: values_dict[prop]} for prop in properties if prop in values_dict]
# JSON formatına çevir ve ekrana yazdır
json_data = json.dumps(output_list, indent=4, ensure_ascii=False)
print(json_data)