我正在使用以下代码从网站获取计划细节。
# -*- coding: cp1252 -*-
import csv
import urllib2
import sys
import urllib
import time
from bs4 import BeautifulSoup
from itertools import islice
page = urllib2.urlopen('http://www.t-mobile.com/shop/plans/individual-plans.aspx').read()
soup = BeautifulSoup(page)
#find the container for all the plans
tabcontent = soup.find('div', {"id": "divIndFamilyDetails"})
containers = tabcontent.findAll('ul', {"class": "plans"})
for plan in containers:
planTitle = plan.find("li", {"class": "detail"})
if planTitle:
title = planTitle.find("h3").text
print title目前print title正在打印第一个匹配的标题,计划变量具有多个具有相同类和元素组合的变量。我想把它打印出来。
我也尝试使用findNext,但它再次打印出相同的结果。我不知道如何使用findAll方法来实现这一点。请帮我解决这个问题。
发布于 2013-01-18 23:03:17
findAll返回一个列表,所以只需引用索引:
title2 = planTitle.findAll("h3")[1]发布于 2013-01-18 17:23:48
定义您自己的方法:
def find_second(container, item):
idx1 = container.find(item)
return container[idx1+1:].find(item) + idx1https://stackoverflow.com/questions/14395646
复制相似问题