2017-02-10 1 views
0
import requests 
from requests import Session 
from bs4 import BeautifulSoup 
import re 
from multiprocessing.dummy import Pool as ThreadPool 

def get_total_pages(): 
    tut = [] 
    base_url = 'Your group ' 
    for url in [base_url % i for i in range(1, 27)]: 
     tut.append(url) 
    print(tut) 
    #get_data_from_page(tut) 
    pool = ThreadPool(8) 
    results = pool.map(get_data_from_page, tut) 

def get_data_from_page(tut): 
    f = open("emails.txt", 'a') 
    email = [] 
    for a in tut: 
     link = s.get(a).text 
     soup = BeautifulSoup(link, 'lxml') 
     links = soup.find('div', class_="mens").find_all('span', class_="inviz") 
     for e in links: 
      emails = e.text 
      f.write(emails + ', ') 
      email.append(emails) 
    print(email) 

def main(): 
    get_total_pages() 
if __name__ == '__main__': 
    main() 

Dies führt zu einer Fehlermeldung, dass es nur mit Multiprozessing arbeitet, und:Anfragen Ausnahme mit nur multiprocessing.dummy Import Pool

raise MissingSchema(error) 
requests.exceptions.MissingSchema: Invalid URL 'h': No schema supplied. Perhaps you meant http://h? 
+0

Können Sie schnell erklären, warum Sie dies tun möchten? Es macht den Eindruck, als Sie ein Spammer versuchen, E-Mail-Adressen aus dem Internet zu ernten – hansaplast

+0

festen Einzug, Lesbarkeit – mirabilos

Antwort

1

Problem war in diesem

for a in tut: 
    link = s.get(a).text 

und wurde benötigt

nur

link = s.get(a).text 
#without for 
Verwandte Themen