我正在使用刮刀来刮取一些公司名称,但是当它工作时,我无法弄清楚如何输出每行公司名称而不是以下内容:
{'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()
答案 0 :(得分:1)
你所拥有的不是一个清单,它是一个字典。做
for elem in cmp_data['company']:
print elem
或者,当您定义cmp_data
而不是cmp_data = {}
和cmp_data['company'] = [...]
时,只需执行cmp_data = [...]
即可将其列为您想要的列表。