1
我正試圖學習如何刮美麗的湯。我的試用是從阿里巴巴網站獲取公司名稱。在Beautfiful Soup中提取標籤內容超出範圍和最大遞歸誤差
我的理解是標籤的內容像列表一樣管理,您可以再次使用find_all來提取子元素。例如:
bar = soup.find_all("some", {"class" : "mainstuff"})
for foo in bar:
print foo.contents[1].find_all("a", {"class" : "otherstuff"})
我的問題是我似乎無法索引我的標記的內容,以提取名稱。
當我嘗試時,我得到[0]的最大遞歸深度超出錯誤和[1]的超出範圍錯誤的索引。
import requests
from bs4 import BeautifulSoup
r = requests.get("http://www.alibaba.com/products/isostatic_press.html")
soup = BeautifulSoup(r.content)
supplier = soup.find_all("a", {"class" : "dot-product"}) #Location of company name
for name in supplier:
print name.text
給人
北京天馬吊帶有限公司
聯繫方式
聯繫供應商
聯繫方式 聯繫供應商
秦皇島Aidite高技術CERAM集成電路有限公司
聯繫方式
聯繫供應商
聯繫方式 聯繫供應商
print name.contents
給人
[<span class="gs1"></span>]
[u'Beijing Tianma Sling Co., Ltd.']
[]
[u'Contact Details', <i></i>]
[<i></i>]
[<span class="ico-email"></span>, u'Contact Supplier']
[]
[u'Contact Details', <i></i>]
[<span class="ico-csb"></span>, u'Contact Supplier']
[]
[<span class="gs3"></span>]
[u'Qinhuangdao Aidite High-Technical Ceramics Co., Ltd.']
[]
[u'Contact Details', <i></i>]
我想只是公司名字,但當我嘗試
print name.contents[0]
我得到RuntimeError:最大遞歸深度超過
print name.contents[1]
給出IndexError:列表索引超出範圍
這種技術似乎在其他網頁工作(www.yellowpages.com),所以我無法弄清爲什麼現在我得到一個錯誤。
非常感謝! – 2014-10-11 20:48:06