使用beautifulSoup的废表HTML

时间:2016-07-22 19:02:44

标签: python html web-scraping beautifulsoup

我试图废弃一个用表格构建的网站。这是一个页面示例的链接:http://www.rc2.vd.ch/registres/hrcintapp-pub/companyReport.action?rcentId=5947621600000055031025&lang=FR&showHeader=false

我的目标是得到名字和姓氏:Lass Christian(截图如下)。

enter image description here 我已经抓住了很多网站但是这个我绝对不知道如何继续。只有'表格'没有任何ID / Class标签,我无法弄清楚我应该从哪里开始。

以下是HTML代码的示例:



<table border="1" cellpadding="1" cellspacing="0" width="100%">
			<tbody><tr bgcolor="#f0eef2">
				
				<th colspan="3">Associés, gérants et personnes ayant qualité pour signer</th>
			</tr>
			<tr bgcolor="#f0eef2">
				
				<th>
					<a class="hoverable" onclick="document.forms[0].rcentId.value='5947621600000055031025';document.forms[0].lang.value='FR';document.forms[0].searchLang.value='FR';document.forms[0].order.value='N';document.forms[0].rad.value='N';document.forms[0].goToAdm.value='true';document.forms[0].showHeader.value=false;document.forms[0].submit();event.returnValue=false; return false;">
						Nom et Prénoms, Origine, Domicile, Part sociale
					</a>
					
				</th>
				<th>
					<a class="hoverable" onclick="document.forms[0].rcentId.value='5947621600000055031025';document.forms[0].lang.value='FR';document.forms[0].searchLang.value='FR';document.forms[0].order.value='F';document.forms[0].rad.value='N';document.forms[0].goToAdm.value='true';document.forms[0].showHeader.value=false;document.forms[0].submit();event.returnValue=false; return false;">
						Fonctions
					</a>
					
						<img src="/registres/hrcintapp-pub/img/down_r.png" align="bottom" border="0" alt="">
					
				</th>
				<th>Mode Signature</th>
			</tr>
			
				<tr bgcolor="#ffffff">
					
					
					<td>
						<span style="text-decoration: none;">
							Lass Christian, du Danemark, à Yverdon-les-Bains, avec 200 parts de CHF 100
						</span>
					</td>
					<td><span style="text-decoration: none;">associé gérant </span>&nbsp;</td>
					
					
						<td><span style="text-decoration: none;">signature individuelle</span>&nbsp;</td>					
					
					
				</tr>
			
			
			
			
		</tbody></table>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

这将从页面获取名称,表格就在锚点之后, id adm ,一旦你拥有了你有多种方法可以获得你的东西需要:

'A0'x

输出:

from bs4 import BeautifulSoup
import requests

r = requests.get('http://www.rc2.vd.ch/registres/hrcintapp-pub/companyReport.action?rcentId=5947621600000055031025&lang=FR&showHeader=false')


soup = BeautifulSoup(r.content,"lxml")
table  = soup.select_one("#adm").find_next("table")
name = table.select_one("td span[style^=text-decoration:]").text.split(",", 1)[0].strip()
print(name)

或者:

Lass Christian

答案 1 :(得分:0)

这样的东西?

results = soup.find_all("tr", {"bgcolor" : "#ffffff"})
for result in results:
    the_name = result.td.span.get_text().split(',')[0]