我最近一直在試圖從網站上獲取信息,雖然我大部分都是成功的,但這已經有點困難了。試圖從格式不正確的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