擅长:python、mysql、java
<p>这里有几个问题:
首先<code>recursive=False</code>参数意味着您将只获得直接位于所选节点内部的文本。您将无法从其子节点获取文本。
由于该div元素中没有直接的文本,因此该方法返回一个空列表</p>
<p>第二个问题:您选择的div不仅包含“心理折磨方法”部分,还包含页面的其他部分以及文章开头显示的免责声明。
要获取所需的信息,应该只获取类为<code>mf-section-1</code>的<code>section</code>节点的内容</p>
<p><strong>解决方案</strong></p>
<p>我只是调整了你的代码来打印你需要的信息。我不得不使用lstrip方法删除不必要的换行符</p>
<pre><code>from bs4 import BeautifulSoup
import requests
URL = 'https://en.m.wikipedia.org/wiki/List_of_methods_of_torture'
page = requests.get(URL)
html_soup = BeautifulSoup(page.content, 'html.parser')
type(html_soup)
print (''.join(html_soup.find("section", class_="mf-section-1").findAll(text=True)).lstrip("\n"))
</code></pre>
<p><strong>输出</strong></p>
<pre><code>Ego-Fragmentation
Learned Helplessness
Chinese water torture
Welcome parade (torture)
</code></pre>