gpt4 book ai didi

python - 从(网页)表格中有选择地选取文本

转载 作者:太空宇宙 更新时间:2023-11-03 18:14:36 26 4
gpt4 key购买 nike

我的问题来自网页上的表格(抱歉,我无法提供网址,因为这是公司内部的网址。)

表格如下所示:

Status  Class_code  Major           Started from
Active 4562256 Global Finance 2013
Active 4588222 Global Finance 2014
Active 4552214 Trade Management 2014
Active 8631448 Law 2012

其代码为:

<TR class=Data align=left>
<TD class=TextColumn>Active</TD>
<TD class=NumColumn>
<DIV title="No:03">4562256</DIV></TD>
<TD class=TextColumn>Global Finance</TD>
<TD class=NumColumn>
<DIV title=2013>2013</DIV></TD>
...
<TR class=Data align=left>
<TD class=TextColumn>Active</TD>
<TD class=NumColumn>
<DIV title="No:04">4588222</DIV></TD>
<TD class=TextColumn>Global Finance</TD>
<TD class=NumColumn>
<DIV title=2014></DIV>2014</TD>
...
<TR class=Data align=left>
<TD class=TextColumn>Active</TD>
<TD class=NumColumn>
<DIV title="No:05">4552214</DIV></TD>
<TD class=TextColumn>International Trade</TD>
<TD class=NumColumn>
<DIV title=2014>2014</DIV></TD>
...
<TR class=Data align=left>
<TD class=TextColumn>Active</TD>
<TD class=NumColumn>
<DIV title="No:06">8631448</DIV></TD>
<TD class=TextColumn>Law</TD>
<TD class=NumColumn>
<DIV title=2012>2012</DIV></TD>
...

我想让BeautifulSoup挑选的是2014年才创建的科目,“金融”和“国际贸易”。

我在下面使用,但它给出了列中的所有数字。

find_number = soup.find_all('td', class_='NumColumn')

for fn in find_number :
results = fn.find_all('div')
print results

我怎样才能只选择带有“2014”的那些(“类(class)代码”总是在第二列;“开始于”总是在第四列)

谢谢。

最佳答案

要获得更强大(如果更复杂)的解决方案,您可以尝试使用正则表达式。

https://docs.python.org/2/howto/regex.html

本质上,它们让您指定包含数据的模式。

例如,

import re
p = re.compile(r'div*/div')//This will get you any data in a div(That is spelled lowercase)
htmldocumentasstring = "However you would do that"
print p.match(htmldocumentasstring) //This will get you only the first result

所以,这不是最漂亮或最简单的解决方案,但它是一种方法。

关于python - 从(网页)表格中有选择地选取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com