簡體   English   中英

Python + BeautifulSoup-限制對特定表(網頁上的多個表)的文本提取

[英]Python + BeautifulSoup - Limiting text extraction on a specific table (multiple tables on a webpage)

大家好……我正在嘗試使用BeautifulSoup在網頁上提取“就業日期:”的內容。 該網頁包含5個表格。 這5個表格相似,如下所示。

    <table class="table1"><thead><tr><th style="width: 140px;" class="CII">Design Team</th><th class="top"><a href="#top">Top</a></th></tr></thead><tbody><tr><td style="width:20px;">Designer:</td><td>Michael Linnen</td></tr>
            <tr><td style="width:20px;">Date of Employment:</td><td>07 Jan 2012</td></tr>
    <tr><td style="width:20px;">No of Works:</td><td>6</td></tr>
    <tr><td style="width: 15px">No of teams:</td><td vAlign="top">2<br>Combined</td></tr>

<table class="table1"><thead><tr><th style="width: 140px;" class="CII">Operation Team</th><th class="top"><a href="#top">Top</a></th></tr></thead><tbody><tr><td style="width:20px;">Manager:</td><td>Nich Sharmen</td></tr>
            <tr><td style="width:20px;">Date of Employment:</td><td>02 Nov 2005</td></tr>
    <tr><td style="width:20px;">Zones:</td><td>6</td></tr>
    <tr><td style="width: 15px">No of teams:</td><td vAlign="top">2<br>Combined</td></tr>

我想要的文本在第3個表格中,表格標題為“ Design Team”

我在下面使用:

page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())

aa = soup.find_all(text=re.compile("Date of Employment:"))
bb = aa[2].findNext('td')
print bb.text

問題在於,該表中的“就業日期:”有時不可用。 如果不存在,代碼將在下表中選擇“就業日期:”。

如何限制我的代碼在“設計團隊”表中僅選擇所需的代碼? 謝謝。

而不是尋找所有Date of Employment ,並尋找下一個td可以directy找到5台,鑒於thDesign Team

page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())

aa = soup.find_all(text="Design Team")

nexttr = aa.next_sibling

if nexttr.td.text == "Date of Employment:":
     print nexttr.td.next_sibling.text 
else:
     print "No Date of Employment:"

nexttr = aa.next_siblingtable標記中查找下一個tr標記。

if nexttr.td.text == "Date of Employment:":確保帶有tr的下一個td標簽內的文本為"No Date of Employment:"

nexttr.td.next_sibling"Date of Employment" nexttr.td.next_sibling提取即時td標簽

print nexttr.td.next_sibling.text打印日期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM