0

我正在解析销售电子产品的网站。具体来说,我希望收集产品的名称和价格,我在解析基于 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'  

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

4

1 回答 1

1

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

for element in data:
    element.attrs
于 2012-08-05T18:46:00.500 回答