我有下面的代码:美丽的汤臭虫?
for table in soup.findAll("table","tableData"):
for row in table.findAll("tr"):
data = row.findAll("td")
url = data[0].a
print type(url)
我得到一个输出:
<class 'bs4.element.Tag'>
这意味着,网址是类标签的对象,我可以从这个对象获得attribytes。 但是,如果我更换print type(url)
到print url['href']
我得到下一个回溯
Traceback (most recent call last):
File "baseCreator.py", line 57, in <module>
createStoresTable()
File "baseCreator.py", line 46, in createStoresTable
print url['href']
TypeError: 'NoneType' object has no attribute '__getitem__'
有什么不对?以及我如何获得href属性的值。
你有一个循环;你确定*所有* tr> td元素都有''标签吗? – 2012-07-26 17:58:00
这个错误意味着它失败的URL是None。尝试使用'if url:'print url ['href']'运行它。 – Lenna 2012-07-26 18:02:32
谢谢,你是对的。页面包含非常大的表格,每行都有网址。但是当我仔细地看着我发现,在一行网址丢失。 – KoirN 2012-07-26 18:34:13