如何识别css内联属性

在我抓取的网页中,有很多标题,我需要识别它们以在我的数据库中设置一个值。问题是这些标题没有特定的 ID 或类。


他们遵循这些模式:


<p ALIGN="CENTER"><font face="Arial" SIZE="2">

<a name="tituloivcapituloisecaoii"></a><b>

<span style="text-transform: uppercase">Seção II<br>

DAS ATRIBUIÇÕES DO CONGRESSO NACIONAL</span></b></font></p>



<p ALIGN="CENTER"><font face="Arial" SIZE="2"><a name="tituloivcapituloisecaoiii"></a>

<b><span style="text-transform: uppercase">Seção III<br>

DA CÂMARA DOS DEPUTADOS</span></b></font></p>

标识它们的一个属性是:text-trasform: uppercase.


如何检查是否p包含一个标题?


这是我当前的代码:


soup = BeautifulSoup(f, 'html.parser')

for tag in soup.findAll():

    if tag.name in ['a', 'strike']:

      tag.decompose()


allp = soup.findAll('p')

for p in allp:          

   print(p)


千巷猫影
浏览 162回答 1
1回答

绝地无双

按标签类型解析 html 后,您可以使用任何定义属性在标签内进行搜索。该text-transform:uppercase可在这种情况下使用。soup = BeautifulSoup(f, 'html.parser')for p in soup.find_all("p"):&nbsp; &nbsp; if p.span["style"]=="text-transform: uppercase":&nbsp; &nbsp; &nbsp; &nbsp; title=p.text&nbsp; &nbsp; &nbsp; &nbsp; print(title)>>>Seção IIDAS ATRIBUIÇÕES DO CONGRESSO NACIONAL这将找到所有<p>包含<span>标签的标签,style=="text-transform: uppercase"并打印它们的相关文本。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python