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

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • Top10Series

    Top10Series

    26 Kasım 2008