Парсинг сайта, ScraPy
Есть главная страничка веб-сайта, на которой расоположены ссылки на другие страницы. Мне нужно сделать следующее: 1. сохранить полную ссылку на другую страницу 2. получить текст, расположенный между тегами <p></p> на другой странице.
Для этого, я написал (по туториалам ScraPy) скрипт на Питоне. Код паука:
def start_requests(self):
date=" "
for url in self.urls:
yield Request(url=url,meta={'date':str(url)[-15:-5]},callback=self.parse)
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//*[@id="content"]/div[2]/div/div/div[1]')
passed_date=response.meta.get('date')
items=[]
for site in sites:
item = DmozItem()
# item['title'] = site.xpath('.//div/a/text()').extract()
item['link'] = str(site.xpath('.//a/@href').extract()).replace("u'","")
item['link']=item['link'].replace("'","")
# item['time'] = site.xpath('.//div/text()').extract()
# item['date'] = passed_date
self.all_articles.append(item)
for link_of_the_article in item['link'].split(','):
yield Request(url=link_of_the_article,callback=self.get_text_of_the_article)
def get_text_of_the_article(self,response):
sel=Selector(response)
item=DmozItem()
item['text']=sel.xpath('//*[@id="articleText"]/span[3]/p/span/text()').extract()
total_items=[]
print (sel.xpath('//*[@id="articleText"]/span[3]/p/span/text()').extract())
total_items.append(item)
return str(sel.xpath('//*[@id="articleText"]/span[3]/p/span/text()').extract())
Вызов функции
get_text_of_the_article(self,response)
<bound method DmozSpider.get_text_of_the_article of <DmozSpider 'dmoz' at 0x10b2e6890>>
В чем ошибка?