#!.env/bin/python
from grab import Bot, Request, Content
import logging
class AndroidForumsBot(Bot):
def parse_section(self, grab, task):
for elem in grab.css_list('.forumwrap ul > li > a'):
yield Request({'url': grab.make_url_absolute(elem.get('href')),
'name': 'forum'})
def parse_forum(self, grab, task):
for elem in grab.css_list('.topicwrap ol > li > a'):
yield Request({'url': grab.make_url_absolute(elem.get('href')),
'name': 'topic'})
def parse_topic(self, grab, task):
for elem in grab.css_list('.postwrapper .postcontent'):
yield Content({'item': elem, 'name': 'post'})
def content_post(self, item):
for line in item.xpath('./text()'):
print line
def main():
bot = AndroidForumsBot(thread_number=10)
bot.taskq.put({'url': 'http://pda.androidforums.ru/lofiversion/index.php/f25.html',
'name': 'section'})
bot.setup_grab(log_dir='log/grab')
bot.run()
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG)
main()