SORU
20 Aralık 2009, Pazar


Görünür Bir Web Sayfası Metin BeautifulSoup Al

Temelde, kullanmak istiyorum BeautifulSoup için al kesinlikle görünür metin üzerinde bir web sayfası... mesela, bu web sayfası benim test çalışması http://www.nytimes.com/2009/12/21/us/21storm.html .. Ve ben özellikle istiyorum sadece gövde metin (yazı) ve belki de bir kaç sekme adlarını burada ve orada. Ancak bu öneri http://stackoverflow.com/questions/1752662/beautifulsoup-easy-way-to-to-obtain-html-free-contents ^ denedikten sonra . ihtiyacım olan tek yapmam gereken findAll için doğru argümanlar ne olduğunu çözemedim.. gerekli olmayan html etiketleri ve açıklamaları çok (http://www.crummy.com/software/BeautifulSoup/documentation.html#arg-limit)... döndürür

Nasıl görünür tüm metin/HTML/önemsiz...vb komut açıklamaları hariç bulayım.. ??

CEVAP
31 Aralık 2009, PERŞEMBE


Bunu deneyin:

html = urllib.urlopen('http://www.nytimes.com/2009/12/21/us/21storm.html').read()
soup = BeautifulSoup(html)
texts = soup.findAll(text=True)

def visible(element):
    if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
        return False
    elif re.match('<!--.*-->', str(element)):
        return False
    return True

visible_texts = filter(visible, texts)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • khloe brooks

    khloe brooks

    25 Temmuz 2011
  • Michael Neal

    Michael Neal

    2 Mayıs 2009