0
我想刮下面的html代碼:Scrapy導出CSV文件顯示在所有行相同的數據
<ul class="results-list" id="search-results">
<li>
<h3 class="name">First John</h3>
<div class="details">
<a href="mailto:[email protected]" class="email">email</a>
<span class="phone">999999999</span>
</div>
</li>
<li>
<h3 class="name">Second John</h3>
<div class="details">
<a href="mailto:[email protected]" class="email">email</a>
<span class="phone">999999999</span>
</div>
</li>
</ul>
當我跑我的蜘蛛,我得到2行,包含相同的信息。我有名字,電子郵件,電話列,例如在名字欄中我會得到: 第一約翰,第二約翰。
我的Scrapy代碼如下:
people= response.xpath('//ul[@class="results-list"]/li')
for person in people:
item = SpiderItem()
item['Name'] = person.xpath(
'//h3/text()').extract()
item['Email'] = person.xpath(
'//div[@class="details"]/a/@href').extract()
item['Phone'] = person.xpath(
'//div[@class="details"]/span[@class="phone"]/text()').extract()
yield item
然而,當我運行scrapy crawl MySpider -o output.csv
我得到的所有行相同的信息。
非常感謝。現在就像魅力一樣。 – GRS