Многопоточность в Python / Скрап BeautifulSoup - PullRequest
0 голосов
/ 05 марта 2019

Привет, я отправился на сбор данных с сайта.Но когда я перешел на использование многопоточности, у меня ошибка Это мой код

from multiprocessing.dummy import Pool  # This is a thread-based Pool
from multiprocessing import cpu_count

def crawlToCSV(url):
    print(url)
#    req = requests.get(url)
#    detail = BeautifulSoup(req.text, "lxml")
#    images=[]
#    for img in detail.find_all("img"):
#        images.append(img["src"])
#
#    return images
    return "k"


if __name__ == "__main__":
    FILE_LINES = 10000000
    NUM_WORKERS = cpu_count() * 2
    chunksize = FILE_LINES // NUM_WORKERS * 4   # Try to get a good chunksize. You're probably going to have to tweak this, though. Try smaller and lower values and see how performance changes.
    pool = Pool(NUM_WORKERS)
    req = requests.get('https://m.web.com/list?cg=1000')
    soup = BeautifulSoup(req.text, "lxml")
    i=0
    for a in soup.find_all("a"):        
        if "ad?id" not in a["href"]:
            continue
        i=i+1
        if i==3 :
            break
        url=a["href"]
        print(url)
        results = pool.map(crawlToCSV, url)
    with open("Output.csv", "ab") as f:
        writeFile = csv.writer(f)
        for result in results: 
            writeFile.writerow(result)

Но в моей консоли у меня есть это enter image description here

Как я могу получить URLв crawlToCSV без \ n между символами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...