qq_43831985 2020-10-19 16:33 采纳率: 0%
浏览 141

多线程 pool.map为什么会报错

import requests
from lxml import etree
from multiprocessing import Pool
from bs4 import BeautifulSoup
import lxml
import pymysql


def prepare_url():
    base_url = "https://movie.douban.com/top250?start="
    full_urls = []
    for i in range(0, 10):
        # 准备全路径
        full_url = base_url + str(i * 25)
        full_urls.append(full_url)
    return full_urls


def get_html(url):
    headers = {'User-Agent': 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT)'}
    try:
        html = requests.get(url=url, headers=headers).text
    except:
        print("爬取失败")


def parse_html(html):
    soup = BeautifulSoup(html, 'lxml')
    div_list = soup.find_all('div', {'class': 'info'})
    message_list = []
    for div in div_list:
        title = div.find('a').find('span').text
        score = div.find_all('div', {'class': 'star'}).find('span', {'class': 'rating_num'}).text
        movie_url = div.find('a')['href']
        dict = {'movie': title, 'rating_num': score, 'url': movie_url}
        message_list.append(dict)
    return message_list

def get_data(url):
    html = get_html(url)
    datas = parse_html(html)



if __name__ == '__main__':
    full_urls = prepare_url()
    # print(full_urls)
    pool = Pool(10)
    data = pool.map(get_data,full_urls)
    print(data)

TypeError: object of type 'NoneType' has no len()

  • 写回答

1条回答 默认 最新

  • 秋千Swing0_0 2020-10-19 22:20
    关注

    你把最重要的错误信息都省略了……不想看源码,建议发完整错误信息

    评论

报告相同问题?

悬赏问题

  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等