python3实现网络爬虫(1)--urlopen抓取网页的html

准备开始写一些python3关于爬虫相关的东西,主要是一些简单的网页爬取,给身边的同学入门看。

首先我们向网络服务器发送GET请求以获取具体的网页,再从网页中读取HTML内容。

       我们大家平时都使用网络浏览器,并且它已经成为我们上网不可或缺的软件。它创建信息的数据包,发送他们,然后把我们获取的的数据 显示 成漂亮的图像、声音、视频和文字。我们应该注意的是,浏览器就是代码,而代码是可以分解的,可以分解成许多基本组件,可重用、重写,以及做成我们想要 的任何东西。

那么现在我们就来看看如何从一个网页获取html并显示出来(代码可在pycharm等编辑器 中编写):

#coding:utf-8
from urllib.request import urlopen
html=urlopen("http://tieba.baidu.com/")
print(html.read())

当我们执行这个程序后会得到如下的结果:

b'#coding:utf-8 from urllib.request import urlopen html=urlopen("http://tieba.baidu.com/") print(html.read().decode('utf-8'))

当我们再次执行这个程序会得到如下的结果:

#coding:utf-8
from urllib.request import urlopen
html=urlopen("http://tieba.baidu.com/")
print(html.info())
程序执行的结果为:

Content-Type: text/html; charset=UTF-8
Date: Sat, 05 Nov 2016 07:54:57 GMT
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: Apache
Set-Cookie: TIEBAUID=cb23caae14130a0d384a57f1; expires=Thu, 31-Dec-2020 15:59:59 GMT; path=/; domain=tieba.baidu.com
Set-Cookie: TIEBA_USERTYPE=6a1c7afddb7bc564bf21c11e; expires=Thu, 31-Dec-2020 15:59:59 GMT; path=/; domain=tieba.baidu.com
Set-Cookie: BAIDUID=071A5C2537394FD906AA0DDCDC3E138D:FG=1; expires=Sun, 05-Nov-17 07:54:57 GMT; max-age=31536000; path=/; domain=.baidu.com; version=1
Tracecode: 32974281920539063562110515
Tracecode: 32974281920790459658110515
Vary: Accept-Encoding
Vary: Accept-Encoding
X-Bd-Id: 12371245289908688739
X-Bd-Oc: 0
X-Bd-Ul: 752bcb03d01cc2fed9326fe0daa239d7
Connection: close
Transfer-Encoding: chunked

虽然这个返回的结果是很多的,但都是以键值对的形式展现给我们的,还是比较清晰易于理解的。

我们看看这句:Content-Type: text/html; charset=UTF-8,它告诉我们这个网页的文本格式是text/html,字符集是utf-8,后面的一些信息大家有兴趣的可以自己去查查资料,这里就不一一说明了。

下面我们来看看网页的状态码:

#coding:utf-8
from urllib.request import urlopen
html=urlopen("http://tieba.baidu.com/")
print(html.getcode())
执行这个程序我们得到的结果是:200,这就说明我们的访问的网页是正常的,我们可以安心解析自己需要的东西了。

好了,这一次就介绍到这里,还有很多好玩的就留给大家自己去体验了。





    

你可能感兴趣的:(python)