【发布时间】:2014-12-05 04:09:02
【问题描述】:
我正在尝试使用 BS4 在 Python 中创建一个简单的网络爬虫,但我显然犯了一个新手错误。
我是 working with a URL,它有 20 个 <div> 标记,每个标记都包含 4 个 <li> 标记,我想将其放入字典中,以便最后三个值位于以第一个值。为了简化代码,我将其删减为仅获取第一个 <li>
我的问题是循环代码似乎没有遍历 BS4 找到的所有 <div>s。
这是有问题的代码:
soup = make_soup(search_url) #dependent on another function, but works correctly
listings = {} #initialize an empty dictionary
listings_data = soup.find_all("div", "asset-container")
#If I print 'listings_data' I get a list with all 20 <div>s
for listing in listings_data:
listings['Address: %s' % soup.find("li", "address").string] = ['foo']
print listings
返回:{u'Address: 310 Riverside Drive': ['foo']}
为什么我最终会得到一个只有一个键/值对的字典?
【问题讨论】:
标签: python python-2.7 loops beautifulsoup