【发布时间】:2021-03-20 21:55:25
【问题描述】:
感谢您关注我的帖子,
经过多次研究,如果单元格包含特定值,我找不到仅抓取表格行的平均值。
更具体地说:我想将包含单词“oui”的行保留在下表的最后一列中:
<table align="center" cellspacing="0" cellpadding="3" width="100%">
<tbody><tr>
<td class="tdhg" align="left"><b>Liste des candidats</b></td>
<td class="tdhv"><strong>Voix</strong></td>
<td class="tdhv"><strong>% Inscrits</strong></td>
<td class="tdhv"><strong>% Exprimés</strong></td>
<td class="tdhv"><strong>Elu(e)</strong></td>
</tr>
<tr>
<td class="tdcbf" align="left">M. Jean-François LAMOUR (UMP) </td>
<td class="tdcd" align="right">23 964</td>
<td class="tdcd" align="right"> 33,01</td>
<td class="tdcd" align="right"> 54,60</td>
<td class="tdcd" align="center">oui
</td>
</tr>
<tr>
<td class="tdcbf" align="left">M. Gilles ALAYRAC (RDG) </td>
<td class="tdcd" align="right">19 927</td>
<td class="tdcd" align="right"> 27,45</td>
<td class="tdcd" align="right"> 45,40</td>
<td class="tdcd" align="center">
</td>
</tr>
</tbody></table>
我第一次尝试通过正则表达式,我成功找到了匹配的单词,但保持关注行似乎很复杂,所以我决定改变方法并通过 BeautifulSoup。
到目前为止我做的最好的是:
url='www.someurl.com'
headers = {"User-Agent":"Mozilla/5.0"}
response = requests.get(url.format())
html_soup = soup(response.content, 'lxml')
html_soup.select('td.tdcd')
我无法更进一步,特别是声明将 'tr' 保留在 'tdcd' 包含 'oui' 的位置。即使我阅读了https://www.crummy.com/software/BeautifulSoup/bs4/doc/ 的文档,如果我没有弄错的话,也很难将一个单元格作为一个孩子来考虑。
谢谢,
【问题讨论】:
标签: python css beautifulsoup