如何使用bs4抓取XML网站?

时间:2012-08-05 18:42:16

标签: python xml web-scraping beautifulsoup

我正在解析销售电子产品的网站.. 具体来说,我希望收集产品的名称和价格 在解析基于xml的站点时遇到了一个小问题....

这是我的代码:

>>> import urllib2  
>>> from bs4 import BeautifulSoup  
>>> url=urllib2.urlopen("http://store.explorelabs.com/index.php?main_page=products_all")  
>>> soup=BeautifulSoup(url,"xml")  
>>> data=soup.find_all(colspan="2")  

上面的代码工作
现在我这样做(因为名字在强标签内)

>>> data.strong  

>>> data.attrs  

它告诉我这个:

Traceback (most recent call last):  
  File "<pyshell#10>", line 1, in <module>  
    data.strong  
AttributeError: 'ResultSet' object has no attribute 'strong'  

Traceback (most recent call last):  
  File "<pyshell#17>", line 1, in <module>  
    data.find_all('a')  
AttributeError: 'ResultSet' object has no attribute 'find_all'  

我正在尝试迭代并尝试了解更多信息 任何指针都会非常有用。

1 个答案:

答案 0 :(得分:1)

find_all返回匹配的元素列表,而不是一个。循环结果集以获取单个项目:

for element in data:
    element.attrs