Python удаляет повторяющиеся адреса электронной почты при очистке - PullRequest
0 голосов
/ 16 октября 2018

Я хочу почистить адреса электронной почты с веб-сайта.Я пытаюсь избавиться от дубликатов адресов электронной почты, но set() не работает.Я также попробовал цикл, но дважды получал адреса электронной почты.

Есть ли другое решение?

Мой код:

import requests
from bs4 import BeautifulSoup as soup
def get_emails(_links:list):
    for i in range(len(_links)):
        new_d = soup(requests.get(_links[i]).text, 'html.parser').find_all('a', {'class':'my_modal_open'})
     if new_d:
         yield new_d[-1]['title']

start = 0

while True:
    d = soup(requests.get('http://www.schulliste.eu/type/gymnasien/?bundesland=&start={page_id}'.format(page_id=start)).text, 'html.parser')
    results = [i['href'] for i in d.find_all('a')][52:-9]
    results = [link for link in results if link.startswith('http://')]

items = list(set(get_emails(results)))

for item in items:
    print(item, end = ",")

#print(list(get_emails(results)))


next_page=d.find('div', {'class': 'paging'},'weiter')

if next_page:

    start+=20
    if start == 500:
        print ("Fertig")
        break
else:
    break
    print("Break")

Теперь вывод выглядит так:

stadtteilschule-bramfeld@bsb.hamburg.de,e-gym@schulen-ee.de,info@erzgebirgskolleg.org,gymnasium.sn@ecolea.de,office@bsz-stendal.de,schule@waldorfschulemarburg.de,info@marienhoehe.de,tauer@int-bsw.de,info@gymnasium-panketal.de,anja.michael-porde@bsz-annefrank.de,sekretariat@gsamrosenberg.com,info@montessori-mkk.de,bachmann.gu@graupnergym.lernsax.de,RS@mpg-umstadt.de,daniela.estel@futurum-vogtland.de,avs.flensburg@schule.landsh.d
...