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

鱼c笔记——Python爬虫(一):利用urllib进行简单的网页抓取

2018-02-06 22:27 573 查看
网络爬虫又称为网页蜘蛛,如果把互联网想象成一个蜘蛛网的构造,每个网站域名都是一个节点,那么这个蜘蛛就是在网页上爬来爬去,获得我们需要的资源。

要使用Python编写爬虫代码,我们要解决的第一个问题是:Python如何访问互联网?

好在Python为我们提供好了相关的“电池”,这个“电池”叫做urllib(URL网页地址 + library)

URL的一般格式为(带方括号[ ]的为可选项):

protocol :// hostname[:port] / path / [;parameters] [?query] #fragment

URL由三部分组成:

第一部分是协议:http, https, ftp, file, edk2 ...

第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口号,如http的默认端口号为80)

第三部分是资源的具体地址,如目录或文件名等,一般可以忽略

其实urllib并不是一个模块,而是一个包

下面尝试使用urllib.request.urlopen()函数:

>>> import urllib.request
>>> response = urllib.request.urlopen("http://www.Fishc.com")  #打开的过程就是从服务器上把网页获取的过程

>>> html = response.read()          #获取后应该读出来
>>> print(html)
b'\xef\xbb\xbf<!DOCTYPE html>\r\n<html lang="en">\r\n<head>\r\n\t<meta\r\n</html>\r\n\r\n \r\n'     #以‘b’开头,是一个二进制的字符串。可以发现可读性太差,所以我们可以进行解码操作

>>> html = html.decode("utf-8")     #查看网页源代码可以看到网页是utf-8的格式,所以我们用utf-8进行解码
>>> print(html)
<!DOCTYPE html>

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