我用的是python2.6。
學(xué)習(xí)python寫爬蟲的時候,一般都會用到一個Demo-------
這個Dmoe在學(xué)習(xí)的時候確實(shí)是非常好的例子,但是我們可能需要對它進(jìn)行修改,這就會出現(xiàn)一些問題。
再對demo進(jìn)行修改的時候發(fā)現(xiàn)了一些編碼問題下面就發(fā)出來做個記錄。 python UnicodeEncodeError:'ascii'code can't encode characters in position 23-26:ordinal not in range(128) 這是一個編碼錯誤。
我的錯誤代碼具體如下:
?
item['intro'] = self._get_xpath_text(hxs, u'//td[contains(text(), "企業(yè)介紹")]/preceding-sibling::td/strong/text()')這樣寫就會發(fā)生下面的錯誤
?
這個錯誤我首先在dmoz_spider.py的文件頭部加入了:
# -*- coding:utf-8 -*-
發(fā)現(xiàn)沒有任何效果。
最后通過在下面的位置加入代碼問題就解決了。
這部分一定要在前面加入一句引用:
import sys
編碼問題得到解決了
?
?
在原例子中把爬取得內(nèi)容保存成json格式,但是我們平時需要把內(nèi)容保存到數(shù)據(jù)中,一般是mysql或者excel中。
在閱讀了一些文獻(xiàn)后發(fā)現(xiàn)可以這么解決,
在進(jìn)行爬蟲的時候命令修改為:
scrapy crawl dmoz -o items.xml -t xml
這樣文件會直接保存成一個XML文件,再調(diào)用mysql或者excel都可以完全的導(dǎo)入進(jìn)去。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
