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

  • AndroidSale

    AndroidSale

    17 NİSAN 2011
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009