1
我试图使用与BeautifulSoup多处理一起,但我遇到一个maximum recursion depth exceeded
错误:多重BeautifulSoup bs4.element.Tag
def process_card(card):
result = card.find("p")
# Do some more parsing with beautifulsoup
return results
pool = multiprocessing.Pool(processes=4)
soup = BeautifulSoup(url, 'html.parser')
cards = soup.findAll("li")
for card in cards:
result = pool.apply_async(process_card, [card])
article = result.get()
if article is not None:
print article
articles.append(article)
pool.close()
pool.join()
据我所知,card
是<class bs4.element.Tag>
型的,问题可能有与酸洗这个对象有关。目前尚不清楚如何修改我的代码来解决这个问题。
[最大递归错误Python]的可能重复(http://stackoverflow.com/questions/19529708/maximum-recursion-error-python)答案在这里相关。此外,如果你因为某些原因照做中的链接,另一种选择是使用一个更好的序列化,像(我的代码)'dill'这是在'multiprocess'(一个'multiprocessing'叉使用更好的系列化)。不知道它是否适用于'bs4'对象。 –