2017-02-10 11 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() 

Это приводит к ошибке говоря, что это работает только с многопроцессорной и:просит за исключением только с multiprocessing.dummy импорта Бассейн

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

можете ли вы быстро объяснить, почему вы хотите это сделать? Это создает впечатление, поскольку вы являетесь спамером, пытающимся собрать адреса электронной почты из Интернета. – hansaplast

+0

Исправить отступ, разборчивость – mirabilos

ответ

1

проблема была в этом

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

и требовалось

только

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