title: Multiprocessing BeautifulSoup bs4.element.Tag
body: <p>I'm trying to use multiprocessing along with BeautifulSoup but am encountering a <code>maximum recursion depth exceeded</code> error:</p>
  
  <pre><code>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()
  </code></pre>
  
  <p>From what I can gather, <code>card</code> is of type <code>&lt;class bs4.element.Tag&gt;</code> and the problem may have to do with pickling this object. It's not clear how I'd have to modify my code to resolve this.</p>