add gevent to downloader
- use gevent
- use beautifulsoup to replace lxml