Python - HTML Ayrıştırıcı

İçindekiler
ile çalışma yaparken ayrıştırıcı içinde piton belgelerle çalışmamız önerilir HTML standart kullan XHTML, öğelerin açılış ve kapanış etiketlerinin işlenmesi söz konusu olduğunda ikincisi daha katı olduğundan, bununla bunu yorumlayabilen programları daha kolay hale getirebiliriz.
İçinde piton elimizde mevcut HTML Ayrıştırıcı, bu aynı modül adındaki sınıfla karıştırılmamalıdır. htmllib, ilki standart kitaplığın bir parçası olduğundan, bir belge aldığımızda Düzenli kullanabiliriz HMTL Ayrıştırıcı içeriğine göz atabilmek için.
HTMLParser'ı kullanma
Kullan HTML Ayrıştırıcı, bu gerçekten onu alt sınıflamak anlamına gelir, böylece yöntemlerin üzerine istediğimiz gibi yazabiliriz ve böylece gereksinimlerimizi karşılayabiliriz, aşağıda kullanırken elde ettiğimiz ana yöntemlerin bir listesini görelim. HTML Ayrıştırıcı.
  • handle_starttag (etiket, özellikler): Bir başlangıç ​​etiketi bulunduğunda, attrs bir çiftler dizisidir (ad, değer).
  • handle_startendtag (etiket, özellikler): Boş etiketler için kullanılır. Varsayılan olarak, başlatma ve kapatma işlemlerini ayrı ayrı ele alır.
  • handle_endtag (etiket): Bir kapanış etiketi bulunduğunda kullanılır.
  • handle_data (veri): Metinsel verileri bulduğumuzda kullanılır.
  • handle_charref (başvuru): & # ref; biçimindeki karakter referanslarıyla çalışırken kullanılır.
  • handle_entityref (isim): Form & name; biçimindeki varlıklara referanslarımız olduğunda kullanırız.
  • handle_comment (veri): Yalnızca yorum yapılan içerik olduğunda çağrılır.
  • handle_decl (decl): Form bildirimleri için kullanılır.
  • handle_pi (veri): Talimatları işlemek için kullanılır.
Ana yöntemleri gördükten sonra HTML AyrıştırıcıArdından kod örneği ile bir resim göreceğiz ve nelerden oluştuğunu açıklayacağız:

BÜYÜT

İlk fark ettiğimiz şey, bunun için Ekran Kazıma kullanmayacağız DüzenliBunun nedeni, inceleyeceğimiz HTML'nin kötü biçimlendirilmemiş olmasıdır, o zaman bildirdiğimiz ilk şeyin, bir öğenin içinde olup olmadığımızı kontrol edeceğimiz bazı Boole değişkenleri olduğunu görürüz. H4 veya bir bağlantı öğesi veya bağlantı içinde.
Yöntemle ilgili özel bir şeyimiz var handle_dataGerçek bir yaşam ortamında olduğumuz için en karmaşık senaryolara hazırlanmalıyız ve bununla kastediyoruz ki ilk aramada gerekli bilgileri alamayacağımız neredeyse kesin olduğundan, onu elde edebilmek için bu yöntemi hazırlıyoruz. Parçalar halinde, bir kez elde ettiğimizde tek yaptığımız verilere katılmak.
Yöntemi çağırdığımızda programımızın eylemi başlar. beslemek () yöntemle elde ettiğimiz web sayfasının içeriği olan metni ilettiğimiz urlopen () ve tüm bunlar işlendiğinde, close () yöntemini çağırmaya devam ediyoruz.
Sonunda bununla bir program elde ettik. Ekran Kazıma düzenli ifadeler kullanmaktan daha okunaklı ve kendimizi sabit yapılarla sınırlamamamız açısından biraz daha sağlam, bu sayede bilgilerimizi doğru bir şekilde elde edebiliyoruz.
Bununla HTMLParser eğitimimizi bitiriyoruz, çünkü bir web sayfasından bilgi almak için bu çözümlere ulaşmanın birçok yolu olduğunu görüyoruz.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave