欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-04 11:42:54
...

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


要使用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>