我是使用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