首页 > 解决方案 > 如何使用python beautifulsoup在表格中的行之间提取蓝色隐藏文本

问题描述

尝试在第 2 行和第 3 行之后爬取表格行中的所有隐藏评论,但无法提取。

我已尝试使用以下代码来提取这些评论,但失败了。下面是我的代码。请帮助我解决这个问题。

from bs4 import BeautifulSoup,Comment

import requests

r =requests.get('http://www.esuppliersindia.com/krishna-agro- 
  traders/aboutus-p17322178-u10731500-swa.html')

soup = BeautifulSoup(r.text,'lxml')

table = soup.find('table',class_='text-listing')

trs = table.find_all('tr')

for tr in trs[2:3]:

   print(tr.text)

for tr in trs[3:4].find_next_sibling('td'):

   print(tr.text)

标签: python-3.xbeautifulsoup

解决方案


我不确定您是否正在关注表格内的以下评论。

from bs4 import BeautifulSoup,Comment
import requests
r =requests.get('http://www.esuppliersindia.com/krishna-agro-traders/aboutus-p17322178-u10731500-swa.html')

soup = BeautifulSoup(r.text,'lxml')
table = soup.find('table',class_='text-listing')
comments=table.find_all(string=lambda text:isinstance(text,Comment))
print(comments[0].split('</tr>')[0])
for i in range(1,len(comments)):
  print(comments[i])

我会这样打印输出。

<td align="right" bgcolor="#FFFFFF" class="text-f11-b">No. Of Employees</td>
<td bgcolor="#FFFFFF" class="text-f11">10</td>

<tr>
<td align="right" bgcolor="#FFFFFF" class="text-f11-b">Export Turnover</td>
<td bgcolor="#FFFFFF" class="text-f11"></td>
</tr>


<tr>
<td align="right" valign="top" bgcolor="#FFFFFF" class="text-f11-b">Annual Turnover</td>
<td valign="top" bgcolor="#FFFFFF" class="text-f11">10 </td>
</tr>


<tr>
<td align="right" valign="top" bgcolor="#FFFFFF" class="text-f11-b">Import Turnover</td>
<td valign="top" bgcolor="#FFFFFF" class="text-f11"> </td>
</tr>


<tr>
<td align="right" valign="top" bgcolor="#ffffff" class="text-f11-b">Bankers</td>
<td valign="top" bgcolor="#ffffff" class="text-f11">Hdfc Bank </td>
</tr>

推荐阅读