我是使用Python Regex的新手。我試圖從HTML中提取一些數據,並且不確定正確的語法是否正確地執行此操作用Python解析HTML正則表達式
我得到以下數據,我想提取數據Birthdate ='1969年7月4日',家鄉=「馬隊領,新澤西州」,學院=「賓夕法尼亞州立大學,1991年」,研究生=「弗吉尼亞州,1996年」
data = <b>Birthdate:</b> July 4, 1969<br/><b>Hometown:</b> Colts Neck, N.J.<br/><b>College:</b> Penn State, 1991<br/><b>Post-graduate:</b> Virginia, 1996</td></tr></table>
Birthdate = re.findall(r'<b>Birthdate:</b>(.*)<br/>', data)
Hometown = re.findall(r'<b>Hometown:></b>(.*)<br/>', data)
College = re.findall(r'<b>College:</b>(.*)<br/>, data)
Post-graduate = re.findall(r,<b>Post-graduate:</b>(.*)<td/>, data)
誠然,我沒有使用re.findall或通配符(.*)
正常這裏是因爲我得到一個返回的字符串,該字符串以我想要的值開始,併到達數據末尾,最後一個
標記。我想使用一個函數來在這個例子中定義 (.*)
的模式之間拉取數據。
來吧,有很多HTML解析器的在那裏。不要爲此使用正則表達式。 – n0rd 2015-04-02 01:26:09
選擇一個html解析器。正則表達式註定了瀏覽器不得不工作的非標準HTML。如果您選擇的解析器不起作用,請參閱「整理」,作爲過濾器。 – 2015-04-02 01:30:35