下面的代码用于从网页中抓取数据。实际上,此代码的输出
并考虑另一个列表的输出
list2=[]
###-I am collecting all span tags ,storing as text in variable called alpha.
for i in range(len(contents)):
for j in contents[i].findAll('span'):
alpha=j.text
# print(alpha)
alphachar=re.sub('[^a-zA-Z]+', '', alpha) #I am eliminating empty lists.
alphabets=alphachar.split() #converting to list
for item in alphabets:
if item!=[]:
list2.append(item) #I am appending to lists
for (a, b) in zip(li,list2):
print(a,b)
上述代码的输出为:
AMD AdvancedMicroDevicesInc
BAC BankofAmericaCorp
GE GeneralElectricCo
F FordMotorCo
M MacysInc
PFE PfizerInc
FCX FreeportMcMoRanInc
BMY BristolMyersSquibbCo
T ATTInc
JWN NordstromInc
JWN NordstromInc
M MacysInc
LB LBrandsInc
GPS GapInc
SJM JMSmuckerCo
CPRI CapriHoldingsLtd
RL RalphLaurenCorp
BIIB BiogenInc
FCX FreeportMcMoRanInc
ADS AllianceDataSystemsCorp
现在我有了另一个名为name的列表:
name = allbody.findAll('h3')
其产出是:
Most actives,Gainers
现在,我希望输出为:
- Most actives
AMD AdvancedMicroDevicesInc
BAC BankofAmericaCorp
GE GeneralElectricCo
F FordMotorCo
M MacysInc
PFE PfizerInc
FCX FreeportMcMoRanInc
BMY BristolMyersSquibbCo
T ATTInc
JWN NordstromInc
- Gainers
JWN NordstromInc
M MacysInc
LB LBrandsInc
GPS GapInc
SJM JMSmuckerCo
CPRI CapriHoldingsLtd
RL RalphLaurenCorp
BIIB BiogenInc
FCX FreeportMcMoRanInc
ADS AllianceDataSystemsCorp
我尝试使用嵌套for循环来表示名称和zip函数,但没有成功。有人能在这方面提供帮助吗
这种情况下
range(len())
可以用于为list2[i:i+10]
生成i
使用
您可以为
i
赋值0
、10
等,这将创建list2[0:10]
、list2[10:20]
等编辑:据我所知,切片没有特殊功能
list2
,但您可以创建自己的(来源:How do you split a list into evenly sized chunks?)
然后
for
与zip()
的循环看起来会更好相关问题 更多 >
编程相关推荐