我设法创建了一个简单的程序来浏览网址,并将提取的html翻译成英语。但是,对于这个特定的网站(下面的链接),”html.find\全部('p')”还提取嵌入锚定标记的不需要的'p'标记。你知道吗
示例1:我不想要的HTML
<p>Baca: <a href="https://nasional.tempo.co/read/1216929/soenarko-sarankan-kivlan-zen-berhati-hati-omongan-diviralkan">Soenarko Sarankan Kivlan Zen Berhati-hati Omongan Diviralkan</a></p>
示例2:我想要的HTML
<p>"Ya, jadi penangguhan penahanan ini, pertama kami memang mengajukan penangguhan penahanan," kata Ferry membuka sesi wawancara. Hari itu, Mabes Polri telah mengabulkan penanggungan penahanan terhadap Soenarko yang menjadi tersangka kepemilikan senjata ilegal.</p>
有没有一种方法可以让代码过滤掉示例1而只保留示例2?你知道吗
link = "https://nasional.tempo.co/read/1216914/moeldoko-penangguhan-penahanan-soenarko-bisa-diterima"
webpage_response = requests.get(link)
webpage = webpage_response.content
page = BeautifulSoup(webpage, "html.parser")
html_title = page.find("title")
title2 = html_title.get_text()
title = title2.strip("- Bisnis Tempo.co")
html = page.find(attrs={"itemprop": "articleBody"})
text = html.find_all("p")
这里
输出
对于bs4.7.1,可以使用:not和:contains伪类选择器来指定包含特定文本时要排除的段落。在本例中,我将通过扩展页面中的排除测试文本并添加id来限制文章内容,从而使其更加健壮。你知道吗
提供if条件以检查是否有任何“Baca”文本并跳过该文本。你知道吗
或者可以使用decompose()函数来删除。你知道吗
相关问题 更多 >
编程相关推荐