Получить данные с внутренней страницы и объединить с текущей страницей - PullRequest
0 голосов
/ 30 октября 2011

на моей html-странице есть таблица с двумя столбцами, первый из которых имеет имя, а второй - ссылка, в которой есть дата , я хочу иметь возможность загрузить эту страницу, получить эту date и поднять его, так что в выводе у меня будет имя и дата. Например на первой странице у нас есть

<table>
      <tr>
         <td>A</td>
         <td>http://something.com/2564.html</td>
      </tr>
</table>

на странице 2564.html есть

<body>
     <p>the date is: 25 April 2009</p>
</body>

как я могу иметь

<xml>
     <row>
         <name>A</name>
         <date>25 April 2009</date>
     </row>
</xml>

1 Ответ

0 голосов
/ 01 ноября 2011

Мой подход - создать элемент, заполнить его данными, которые есть у меня на этой странице, а затем запросить страницу с недостающими данными, передав элемент в пределах meta. Когда вторая страница загружена, я получаю элемент из meta и заполняю другими данными:

def parseItem(self, response):
    '''Get date from the first page.'''
    item = Item()
    item['firstdata'] = '???'
    ...
    otherDataPageLink = '???'
    yield Request(otherDataPageLink, meta = {'item': item}, callback = self.parseComments)

def parseComments(self, response):
    '''Get all the other data from second page.'''
    item = response.meta['item']
    item['otherdata'] = '???'
    yield item # return the item with all the data
...