鱼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>