Использовал пример из документации.
В группе было предложено модифицировать передаваемый grab объект, у меня выдает ошибку “SpiderMisuseError: Options url and grab could not be used together” Как правильно задать proxy?
#coding: utf-8
import logging
from grab import Grab
from grab.spider import Spider, Task
class ExampleSpider(Spider):
initial_urls = ['http://habrahabr.ru/']
def task_initial(self, grab, task):
#print 'Habrahabr home page'
for elem in grab.doc.select('//h1[@class="title"]/a[@class="post_title"]'):
grab = Grab()
grab.setup(proxy='219.93.183.106:8080', proxy_type='http')
yield Task('habrapost', url=elem.attr('href'), grab=grab)
def task_habrapost(self, grab, task):
#print 'Habrahabr topic: %s' % task.url
print grab.doc.select('//h1').text().encode('utf-8')
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG)
bot = ExampleSpider(thread_number=2)
bot.run()