每行输出一个元素列表

时间:2015-01-15 00:38:13

标签: python

我正在使用刮刀来刮取一些公司名称,但是当它工作时,我无法弄清楚如何输出每行公司名称而不是以下内容:

{'company':['A.A.M.A.P。 - ANTINCENDIO ESTINTORI PORTE TAGLIAFUOCO SEGNALETICA CORSI SICUREZZA LAVORO','A.G。 SANITARI S.N.C. DI PIVATO& CASAGRANDE',“ABBIGLIAMENTO AL LAVORATORE LEVI'S; WRANGLER; LEE; RIFLE;”,'BABY BAZAR NEGOZIO PER BAMBINI E NEONATI ABBIGLIAMENTO CARROZZINE PASSEGGINI GIOCATTOLI E USATO','BAIETTO ALBERTO ABBIGLIAMENTO','BAZAR MILANESE GIOCATTOLI BAMBINI INFANZIA - GADGET - PARTY','BAZAR S.ANGELO - BIANCHERIA INTIMA SEXY',“BERTO'ABCIGLIAMENTO”]}

我尝试过:

for elem in cmp_data:
    return elem

然后我在每一行都得到字符串“company”而不是实际的公司名称。

这是完整的代码:

import requests
import bs4

root_url = 'http://www.trevisoaziende.com'
index_url = root_url + '/settore-merceologico/aziende-01/page-'

def get_cmp_data(page_url):
    cmp_data = {}
    print ("pg: " + page_url)
    response = requests.get(index_url + page_url + '/')
    soup = bs4.BeautifulSoup(response.text)
    cmp_data['company'] = [a.get_text() for a in soup.select('td.lista_title > a')]

    return cmp_data

def show_cmp_list():
    for page_url in range(1, 16):
        print (get_cmp_data(str(page_url)))

if __name__ == '__main__':
    show_cmp_list()

1 个答案:

答案 0 :(得分:1)

你所拥有的不是一个清单,它是一个字典。做

for elem in cmp_data['company']:
    print elem

或者,当您定义cmp_data而不是cmp_data = {}cmp_data['company'] = [...]时,只需执行cmp_data = [...]即可将其列为您想要的列表。