您的位置:首页 > 编程语言 > Python开发

1. 初学python爬虫

2017-07-23 01:58 225 查看

初学python爬虫

看了几个星期廖雪峰老师的python教程之后,总发现学完新的东西,旧的就忘了。所以还是打算直接上路写爬虫了,边写边学python的基础知识。

python版本:python3.5

然而,作为一个萌新,我当然还是从urllib库开始学起。

要用这个工具,我当然是要去了解它怎么用。所以我去了官网查了一查。

(我好像找不到中文文档….)



urllib.request是用来打开和读取URLs,所以是要用到urllib.request。

1. 一个简单的小例子

那我们去爬取python的首页试试:

# -*- coding:utf-8 -*-
from urllib import request

def scrapy(url):
response = request.urlopen(url)
html = response.read().decode('utf-8', 'ignore')
print(html)

if __name__ == '__main__':
scrapy('https://www.python.org/')


第一次并不顺利,控制台显示如下:



大概就是,该网页有GBK不能解码的字节。

但我用的解码格式为utf-8(这是python首页使用的字符集)

由于解决过程,看了太多大神的博客,所以就直接贴出解决的方法。

先说一下原因,原因大概就是因为我的控制台默认输出字符集是GBK。

所以我们要更换一下控制台的输出字符集,即使用sys库.

sys库就是用来和系统交互用的, 下面代码我们将系统输出改为utf-8

代码更改为:

# -*- coding:utf-8 -*-
from urllib import request
from urllib.request import Request
import sys
import io

def scrapy(url):
request1 = Request(url)
response = request.urlopen(request1)
html = response.read().decode('utf-8','ignore')
print(html)

if __name__ == '__main__':
sys.stdout=
io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
scrapy('https://www.python.org/')


这样我们就把这个网页下载下来啦。



先暂时学到这里吧。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: