我不想麻烦任何人,但我已经讨论这个问题好几天了
基本上,我想从这个网页上删除心理折磨的方法:https://en.m.wikipedia.org/wiki/List_of_methods_of_torture
这是我想获得的确切信息:
自我分裂
后天的无助感
中国水刑
欢迎游行(酷刑)
下面是我的代码:
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 (html_soup.find("div", class_="mw-parser-output").find_all(text=True, recursive=False) )
我相信有一个简单的解决办法,我看不到。一看html网站,你可能会找到答案
真诚地致以最良好的祝愿
祝你有美好的一天
家常菜
试试这个。您的预期输出在第节中
这里有几个问题: 首先
recursive=False
参数意味着您将只获得直接位于所选节点内部的文本。您将无法从其子节点获取文本。 由于该div元素中没有直接的文本,因此该方法返回一个空列表第二个问题:您选择的div不仅包含“心理折磨方法”部分,还包含页面的其他部分以及文章开头显示的免责声明。 要获取所需的信息,应该只获取类为
mf-section-1
的section
节点的内容解决方案
我只是调整了你的代码来打印你需要的信息。我不得不使用lstrip方法删除不必要的换行符
输出
当你有疑问的时候,用暴力强迫它,假装你以后会回来
印刷品:
相关问题 更多 >
编程相关推荐