我已經使用scrapy從網頁獲取數據。我遇到了如下問題。如何獲得與Scrapy的完整鏈接文本
<li>
<a href="NEW-IMAGE?type=GENE&object=EG10567">
<b>
man
</b>
X -
<i>
Escherichia coli
</i>
</a>
<br>
</li>
我想要得到的內容(例如:人X-大腸桿菌)在<a>
標記,不想獲取其他標籤。這裏是我的代碼:
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//ul/li/a[contains(@href,"NEW-IMAGE")]')
base_url = "http://www.metacyc.org/META"
for site in sites:
item = MetaCyc()
name_tmp = map(unicode.strip, site.xpath('text()').extract())
item['Name'] = unicode(name_tmp).encode('utf-8')
item['Link'] = map(unicode.strip, site.xpath('@href').extract())
yield item
我試圖給的unicode轉換爲UTF-8,但結果仍然是這樣的:
{"Link": ["NEW-IMAGE?type=GENE&object=EG10567"], "Name": "[u'X -']"}
有時也會有一些字符在記錄中缺失。 所以我想知道如何從HTML代碼中獲得完整和正確的格式數據。
的Unicode轉換爲UTF-8並沒有太大的意義; UTF-8 *是* Unicode。你的結果與HTML不匹配,你能展示結果所指的真實HTML嗎? – JJJ
對不起,這個是正確的** {「Link」:[「NEW-IMAGE?type = GENE&object = EG10567」],「Name」:「[u'X - ']」},**,你可以看到它的名稱不完整 –
我會爲你編輯問題;儘量確保所有數據都是相關的。 Unicode與此無關。 – JJJ