我正在尝试使用以下代码从以下网站http://www.bodybuilding.com/exercises/list/muscle/selected/biceps获取数据:
url = "http://www.bodybuilding.com/exercises/list/muscle/selected/biceps"
data = urllib2.urlopen(url)
soup = BeautifulSoup(data)
exercises = soup.find("div", {"id":"listResults"}).find_all('div',{'class':'exerciseName'})
for exercise in exercises:
item = exercise.find('a')
print str(item.string)
我希望find_all
组件返回一个BS对象,其中包含从“Alternate Hammer Curl”到“Zottman Preacher Curl”的所有段。但是,它会将项目从“Alternate Hammer Curl”返回到“Dumbell Prone Incline Curl”,然后重复此列表,而不包括练习的剩余部分。
有没有人有类似的问题,find-all
最终会返回一个带有重复项目的对象,例如?
答案 0 :(得分:1)
我的代码在Python 2.7和3.3中运行良好。你应该检查你的BS安装。我没有尝试过除BS4以外的任何东西,但它可能与其他版本不同。