爬蟲遇見亂碼和抓取數(shù)量不定
大概遇到了兩個問題:1、每次運行能夠抓取的記錄數(shù)量不定,有時候幾十條,有時候可以抓到幾百條,但是沒有一次抓滿了1000條的,系統(tǒng)運行也不報錯,也會生成相應(yīng)的html文件,請問這種情況是什么回事啊,有沒有高手解答下;2、生成的html的中文是亂碼,我特意在控制臺把抓取的title和summary都打印了出來,是正常的,但是生成的html就是亂碼,求指教啊
大概遇到了兩個問題:1、每次運行能夠抓取的記錄數(shù)量不定,有時候幾十條,有時候可以抓到幾百條,但是沒有一次抓滿了1000條的,系統(tǒng)運行也不報錯,也會生成相應(yīng)的html文件,請問這種情況是什么回事啊,有沒有高手解答下;2、生成的html的中文是亂碼,我特意在控制臺把抓取的title和summary都打印了出來,是正常的,但是生成的html就是亂碼,求指教啊
2016-07-14
舉報
2016-07-16
1.是因為網(wǎng)絡(luò)?
2.還是編碼問題python3的話可以試試這個在html_outputer里修改如下:
#coding utf-8
class HtmlOutputer(object):
? ? def __init__(self):
? ? ? ? self.datas = []
? ? ? ??
? ? def collect_data(self, data):
? ? ? ? if data is None:
? ? ? ? ? ? return
? ? ? ? self.datas.append(data)
? ? def output_html(self):
? ? ? ? fout = open('output.html', 'w', encoding='utf-8')
? ? ? ? fout.write("<html><meta charset=\"utf-8\" />")
? ? ? ? fout.write("<body>")
? ? ? ? fout.write("<table>")
? ? ? ? for data in self.datas:
? ? ? ? ? ? fout.write("<tr>")
? ? ? ? ? ? fout.write("<td>%s</td>" % data['url'])
? ? ? ? ? ? fout.write("<td>%s</td>" % data['title'])
? ? ? ? ? ? fout.write("<td>%s</td>" % data['summary'])
? ? ? ? ? ? fout.write("</tr>")
? ? ? ? fout.write("</table>")
? ? ? ? fout.write("</body>")
? ? ? ? fout.write("</html>")
? ? ? ? fout.close()
? ??