<p>使用以下同级的解决方案。</p>
<pre><code>class SingleSpider(scrapy.Spider):
name = "etym"
allowed_domains = ["etymonline.com"]
start_urls = [
"http://www.etymonline.com/index.php?l=d&allowed_in_frame=0"]
def parse(self, response):
for nodes in response.xpath('//dl'):
for i in nodes.xpath('dt'):
print i.xpath('a/text()').extract()
print i.xpath('following-sibling::dd[1]/text()').extract()
</code></pre>
<p>基本上:</p>
<ul>
<li>你一个接一个地得到Dt元素</li>
<li>打印链接中包含的文本</li>
<li>移到下一个同级并打印包含的文本</li>
<li>列表项</li>
</ul>
<p>这里是输出的摘录:</p>
<blockquote>
<p>[u'daiquiri (n.)'] [u'type of alcoholic drink, 1920 (first recorded in
F. Scott Fitzgerald), from ', u', name of a district or village in
eastern Cuba.']</p>
<p>[u'dairy (n.)'] [u'late 13c., "building for making butter and cheese;
dairy farm," formed with Anglo-French ', u' affixed to Middle English
', u' (in ', u' "dairymaid"), from Old English ', u' "kneader of
bread, housekeeper, female servant" (see ', u' (n.1)). The purely
native word was ', u'.']</p>
<p>[u'dais (n.)'] [u'mid-13c., from Anglo-French ', u', Old French ', u'
"table, platform," from Latin ', u' "disk-shaped object," also, by
medieval times, "table," from Greek ', u' "quoit, disk, dish" (see ',
u' (n.)). Died out in English c.1600, preserved in Scotland, revived
19c. by antiquarians.']</p>
</blockquote>