我最近一直在试图从网站上获取信息,虽然我大部分都是成功的,但这已经有点困难了。试图从格式不正确的HTML网站中提取数据
我一直在目前使用正则表达式来找到一些信息(在这里,我想看看名字)
webAddress = 'http://meridian.puzzlepirates.com/yoweb/crew/info.wm?crewid=' + str(crewid)
htmlFile = urllib.urlopen(webAddress)
htmlText = htmlFile.read()
regex = 'classic&target=(.+?)">'
pattern = re.compile(regex)
checkMatch = re.findall(pattern,htmlText)
像现在这样。当特定线路上有一致的指示符时,这很好。但是,我现在有一个问题,我的指标不在该线上。
<td width="28" height="28"><a href="/ratings/top_5_0.html"><img
src="/yoweb/images/stat-5.png" width="28" height="28" border="0"
alt="Gunning"></a></td>
<td align="left">
<font size="-1">
<i><b>Exalted</b></i>/<b>Master</b>
</font>
专找拉倒数第二行,但它是可能的,这倒数第二行是不是粗体斜体或/不具有相同的话,那么我的指标排序的必须是“ Gunning“,因为那是我关心的特定领域。不幸的是,它并不总是在每个不同页面的同一行上,所以我不能只看特定的行来尝试找到它。任何建议都会很棒!
编辑
我切换到开始尝试学习/用美丽的汤(感谢指着我这个方向努力。
我没有那样清楚我的意思是在第一次如此让我尝试澄清。
具体试图从一个页面拉队伍像this
<td width="28" height="28"><a href="/ratings/top_5_0.html"><img
src="/yoweb/images/stat-5.png" width="28" height="28" border="0"
alt="Gunning"></a></td>
<td align="left">
<font size="-1">
<i><b>Exalted</b></i>/<b>Master</b>
</font>
该科的HTML,我我特意寻找的是以上,并不总是在相同的格式(例如,它可能不是粗体,粗体,粗体或斜体。所以我不确定用什么方法可靠地从这些信息中提取特定的统计信息。
我试图通过字体大小进行隔离,但结果的数量并不一致,并且我无法隔离我想要的特定统计信息。
[除XHTML自足标签的正则表达式匹配开放标签(HTTP的可能重复://计算器.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – rohithpr
不要用正则表达式解析xml/html。 – Sumurai8