If you read part 1 of this series, you know that my crawler was plagued by several memory leaks. Using umdh, I was able to determine that lxml was the culprit. That's a start! But why did those leaks occur in the first place? And how could I fix them? In this second and final post of the series, you'll find out how I used a combination of techniques and tools to analyze and resolve memory leaks in