从内页获取数据并与当前页面合并

时间:2011-10-30 12:11:31

标签: python web-crawler scrapy

在我的html页面中有两列的表格,第一个名称,第二个是一个链接,其中有日期,我希望能够下载此页面获取此< strong> date 并提高它,所以在输出中我将有Name和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 :(得分:0)

我创建项目的方法,用我在此页面上的数据填充它,然后产生对缺少数据的页面的请求,在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