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

  • BetterCoder

    BetterCoder

    17 Aralık 2012
  • We've moved!

    We've moved!

    7 Ocak 2008
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006