所以,基本上我的主要问题来自findall的正则表达式部分。我试图通过网络搜索一些信息,但我无法为我的生活获得正确的数据。我认为(\ S + \ S +)是正则表达式部分,我将从<li>
和</li>
的HTML代码之间的任何部分中提取,但相反,我得到了打印(数据)的空列表。我意识到每个列表代码部分中的每个单词都需要一个\ S +,那么我该如何处理呢?另外,我如何使用列表代码部分发布HTML的每个不同部分?
INPUT:只是网站。
输出:在这种情况下,它应该是专辑标题(即Mikky Ekko - 时间)
import urllib.request
from re import findall
url = "http://rnbxclusive.se"
response = urllib.request.urlopen(url)
html = response.read()
htmlStr = str(html)
data = findall("<li>(\S+ \S+)</li>.*", htmlStr)
print(data)
for item in data:
print(item)
答案 0 :(得分:0)
答案 1 :(得分:0)
使用lxml
import lxml.html
doc = lxml.html.fromstring(response.read())
for li in doc.findall('.//li'):
print li.text_content()