我正在解析一个html文件,我想找到文件中“小报表公司”的部分,并且在它旁边有或没有“X”或复选框。复选框通常使用Wingdings字体或ascii代码完成。在下面的HTML中,你会看到它旁边有一个þ
的翅膀。Python BeautifulSoup解析特定文本
我没有问题显示文本的正则表达式搜索的结果,但我在进行下一步和寻找复选框时遇到问题。
我将使用它来解析许多不同的html文件,这些文件不会都遵循相同的格式,但其中大多数将使用像这个示例一样的表和ascii文本。
下面是HTML代码:
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
<DIV align="left">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or a smaller reporting company. See the definitions of “large accelerated filer,” “accelerated filer” and “smaller reporting company”. (Check one):
</DIV>
<DIV align="center">
<TABLE style="font-size: 10pt" cellspacing="0" border="0" cellpadding="0" width="100%">
<!-- Begin Table Head -->
<TR valign="bottom">
<TD width="22%"> </TD>
<TD width="3%"> </TD>
<TD width="22%"> </TD>
<TD width="3%"> </TD>
<TD width="22%"> </TD>
<TD width="3%"> </TD>
<TD width="22%"> </TD>
</TR>
<TR></TR>
<!-- End Table Head -->
<!-- Begin Table Body -->
<TR valign="bottom">
<TD align="center" valign="top"><FONT style="white-space: nowrap"> Large accelerated filer <FONT style="font-family: Wingdings">o</FONT></FONT>
</TD>
<TD> </TD>
<TD align="center" valign="top"><FONT style="white-space: nowrap">Accelerated filer <FONT style="font-family: Wingdings">o</FONT></FONT>
</TD>
<TD> </TD>
<TD align="center" valign="top"><FONT style="white-space: nowrap"> Non-accelerated filer <FONT style="font-family: Wingdings">o</FONT> </FONT>
<FONT style="white-space: nowrap">(Do not check if a smaller reporting company)</FONT>
</TD>
<TD> </TD>
<TD align="center" valign="top"><FONT style="white-space: nowrap"> Smaller reporting company <FONT style="font-family: Wingdings">þ</FONT></FONT></TD>
</TR>
<!-- End Table Body -->
</TABLE>
</DIV></BODY></HTML>
这里是我的Python代码:
import os, sys, string, re
from BeautifulSoup import BeautifulSoup
rawDataFile = "testfile1.html"
f = open(rawDataFile)
soup = BeautifulSoup(f)
f.close()
search = soup.findAll(text=re.compile('[sS]maller.*[rR]eporting.*[cC]ompany'))
print search
问: 我怎么能将此设为具有取决于第一第二的搜索搜索?所以当我找到“小型报告公司”时,我可以搜索下几行,看看是否有ascii代码?我一直在阅读汤文档。我试图做find和findNext,但是我一直无法使它工作。
我敢打赌,你应该纠正_“有一个‘X’或旁边的复选框对它“_ to _”有一个“X”** ON **旁边的复选框“_并且你没有。这让我感到困惑,并且困扰着我对你的问题的理解。你不在乎被人理解吗? – eyquem 2012-01-08 23:35:27
_“在下面的HTML中,你会看到它在旁边有一个þ的外形。”哪里? – eyquem 2012-01-08 23:44:19
你叫做'ascii code'是什么?它是o和þ ?? – eyquem 2012-01-08 23:45:34