【发布时间】:2019-01-24 07:52:38
【问题描述】:
我试图让代码只获取<p> 标签之间的所有内容。我还没有找到方法。
我尝试使用一个简单的循环,这个程序你应该输入一个 url,当你运行它时会显示纯文本。
import urllib.request
import urllib.parse
import re
print("Enter the URL")
url = input()
#url = "https://en.wikipedia.org/wiki/Somalia"
values = {'s':'basic', 'submit':'search'}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8')
req = urllib.request.Request(url,data)
resp = urllib.request.urlopen(req)
respData = resp.read()
#print(respData)
paragraphs = re.findall(r'<p>(.*?)</p>', str(respData))
for eachP in paragraphs:
print(eachP)
我也尝试过使用 BeutifulSoup,但还没有成功导入。
【问题讨论】:
-
正则表达式不是解析 XML 的方法,即使它们适用于简单的表达式。强烈建议使用 XML 解析器。
-
除了XML还有什么更简单的方法吗?