我试图通过一个网站的HTML,并解析它寻找一个类的最大注册量。我试着在HTML文件的每一行中检查一个子字符串,但这会试图解析错误的行。所以我现在使用正则表达式。我现在使用\t\t\t\t\t\t\t<td class="odd">([0-9])|([0-9][0-9])|([0-9][0-9][0-9])<\/td>\r\n
作为正则表达式,但是这个正则表达式匹配max registration以及节号。有没有其他方法可以让我从网页中提取内容?HTML代码片段如下:
<tr>
<td class="tableHeader">Section</td>
<td class="odd">001</td>
</tr>
<tr>
<td class="tableHeader">Credits</td>
<td class="even" align="left"> 4.00</td>
</tr>
<tr>
<td class="tableHeader">Title</td>
<td class="odd">Linear Algebra</td>
</tr>
<tr>
<td class="tableHeader">Campus</td>
<td class="even" align="left">University City</td>
</tr>
<tr>
<td class="tableHeader">Instructor(s)</td>
<td class="odd">Guang Yang</td>
</tr>
<tr>
<td class="tableHeader">Instruction Type</td>
<td class="even">Lecture</td>
</tr>
<tr>
<td class="tableHeader">Max Enroll</td>
<td class="odd">30</td>
</tr>
DO NOT PARSE HTML USING REGEXP.
为正确的工作使用正确的工具。在
让我们做一个类比来解释为什么它是错误的:这就像试图让一个5 year old理解Hamlet,而他没有vocabulary and grammar来理解{a5},当他能够process more abstract concepts时,他就会明白。在
使用^{} 或{a8}来执行此操作。在
举个例子:要想得到所有赔率和赔率的列表:
编辑:
好了,现在我得到了您想要的,下面是使用lxml的解决方案:
^{pr2}$在那里,您只有最大注册号码。在
使用BeautifulSoup更容易:
zmo's answer的替代方法,使用
BeautifulSoup
:输出:
^{pr2}$使用专门分析html的工具,如^{} :
例如,以下是如何获得您想要的:
印刷品:
^{pr2}$相关问题 更多 >
编程相关推荐