首页 > 编程语言 > 详细

Python3爬虫学习

时间:2016-08-09 23:22:11      阅读:490      评论:0      收藏:0      [点我收藏+]

  学了几天python3,发现目前学到的与爬虫还是关系不大,所以现在准备爬虫和语言同步学习。

 

2016.8.9晚

  先从最简单的开始,爬取指定url的所有内容:

#encoding:UTF-8
import urllib.request
 
url = "http://www.selflink.cn/selflink"
data = urllib.request.urlopen(url).read()
data = data.decode(UTF-8)
print(data)
#encoding:UTF-8
import urllib.request
 
url = "http://www.cma.gov.cn/"
data = urllib.request.urlopen(url).read()
data = data.decode(gbk)
print(data)

编码不同,一个是utf-8,一个是gbk

另外,输出写入文件到的时候如果写入了一个html文件,打开可能会产生乱码,这个时候不要怀疑python的中文兼容性!(python中文兼容性超级好)其实可以用记事本打开一下爬取到的文件,编码是不是错了,可以另存为一下,重新设置一下编码(比如设置成utf-8),再把网页打开就发现不乱码了。比如这份代码:

import urllib.request
url = "http://www.douban.com/"
webPage=urllib.request.urlopen(url)
data = webPage.read()
data = data.decode(utf-8)
f = open("d:/1.html","w")
f.write(data)
print(type(webPage))
print(webPage.geturl())
print(webPage.info())
print(webPage.getcode())

因为python默认是以ASCII码存储文件的,所以在浏览器中爬取到的这个文件就显示了乱码。手动修改文件的编码就可以了。

当然,如果想自动设置文件编码,需要用到codecs库:

import urllib.request
import codecs

url = "http://www.douban.com/"
webPage=urllib.request.urlopen(url)
data = webPage.read()
data = data.decode(utf-8)
f = codecs.open("d:/1.html","w","utf-8")
f.write(data)
print(type(webPage))
print(webPage.geturl())
print(webPage.info())
print(webPage.getcode())

 

Python3爬虫学习

原文:http://www.cnblogs.com/itlqs/p/5754982.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!