[英]Python findall regex issue
因此,基本上我的主要问题来自findall的正则表达式部分。 我正在尝试对某些信息进行网络抓取,但是我一生都无法正确获取任何数据。 我以为(\\ S + \\ S +)是正则表达式的一部分,我会从<li>
和</li>
的HTML代码之间的任何部分中提取出来,但是我却从print(数据)。 我意识到我将需要为每个列表代码部分中的每个单词使用\\ S +,所以我将如何处理呢? 另外,如何获得将HTML的每个不同部分与列表代码部分一起发布的信息?
输入:仅网站。
输出:在这种情况下,它应该是专辑标题(即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)
使用lxml
import lxml.html
doc = lxml.html.fromstring(response.read())
for li in doc.findall('.//li'):
print li.text_content()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.