这是我要提取的来自www.example,com的源代码。如果有人能解释我需要提取的内容。
<table>
<tr>
<td colspan="5" style="text-align:left;padding-left:4px;" class="category"><img-src="http://www.example.com/images/menu.gif">TEXT in td 1 </td>
</tr>
<tr>
<td class="date" colspan="5">TEXT in td 2</td>
</tr>
<tr>
<td style="test-align:left;width:40px;">TEXT in td 3</td>
<td style="padding-right:4px; width:180px;text-align:right">TEXT in td 4</td>
<td style="width:40px;text-align:center"> TEXT in td 5</td>
<td style="padding-left:5px; width:180px;text-align:left">TEXT in td 6</td>
<td style="width:40px;text-align:center"></td>
</tr>
</table>
这是我想要解释的代码。我想提取每个单独的文本, 文字4,5和6上画得很好。文本1,2和3,如果有人可以告诉我如何提取。提前致谢!
item['TEXT in td 1'] = app.select('//td[2]//text()').extract()
item['TEXT in td 2'] = app.select('//td[3]/text()').extract()
item['TEXT in td 3'] = app.select('td[4]/text()').extract()
item['TEXT in td 5'] = app.select('td[3]//text()').extract()
item['TEXT in td 4'] = app.select('td[2]/text()').extract()
item['TEXT in td 6'] = app.select('td[4]/text()').extract()
This a extract Scrapy:
2013-08-04 11:27:11+0300 [app] DEBUG: Scraped from <200 />
{'TEXT in td 1': [u'', u'TEXT in td 1'],
'TEXT in td 2': [u'August 04'],
'TEXT in td 6': [],
'TEXT in td 5': [],
'TEXT in td 4': [],
'TEXT in td 6': []}
2013-08-04 11:27:11+0300 [app] DEBUG: Scraped from <200 />
{'TEXT in td 1': [u'', u'TEXT in td 1'],
'TEXT in td 2': [u'August 04'],
'TEXT in td 6': [u'TEXT in td 6'],
'TEXT in td 5': [u'TEXT in td 5'],
'TEXT in td 4': [u'TEXT in td 4'],
'TEXT in td 6': [u'TEXT in td 6']}
答案 0 :(得分:1)
这可能会按如下方式完成(我没有scrapy,但你的Xpath存在问题)
item['TEXT in td 1'] = app.select('//table/tr[1]/td[1]//text()').extract()
item['TEXT in td 2'] = app.select('//table/tr[1]/td[2]/text()').extract()
item['TEXT in td 3'] = app.select('//table/tr[2]/td[1]/text()').extract()
item['TEXT in td 5'] = app.select('//table/tr[2]/td[2]/text()').extract()
item['TEXT in td 4'] = app.select('//table/tr[3]/td[1]/text()').extract()
item['TEXT in td 6'] = app.select('//table/tr[3]/td[2]/text()').extract()
我们正在做的是(假设一个表)我们正在获取表的每一行(观察tr [1],tr [2]等然后访问这些行中的单元格) 观察td [1],td [2]等。。