bytes 和 str:
互联网中数据的传输是通过二进制来实现的,所以很多有意义的字符串(str)需要转换成bytes进行传输,而在接收的过程中需要将bytes转换成str来方便获取者浏览处理。
Python中:
str -> bytes 使用encode函数;
bytes -> str 使用decode函数;
>>> str = 'hello world'
>>> b = str.encode()
>>> b
b'hello world'
>>> str2 = b.decode()
>>> str2
'hello world'
http 和 https
- HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。
- HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)HTTP的安全版,在HTTP下加入ssl层。
SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。
HTTP的端口号为80,
HTTPS的端口号为443
URL
URL(Uniform / Universal Resource Locator):统一资源定位符,完整地描述Internet上网页和其他资源的地址的一种标识方法。
基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]
- scheme:协议(例如:http, https, ftp)
- host:服务器的IP地址或者域名
- port#:服务器的端口(如果是走协议默认端口,缺省端口80)
- path:访问资源的路径
- query-string:参数,发送给http服务器的数据
- anchor:锚(跳转到网页的指定锚点位置)
请求和响应
- 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。
- 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的HTML文件,服务器把Response文件对象发送回给浏览器。
- 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。
- 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。
爬虫的功能就是使用脚本自动化的完成上述这一系列操作。
爬取信息鉴别 容易爬取文本 or json文件?
一般有些网站为了防止爬虫进行数据的爬取,会设置一些反爬虫机制,如何发现自己需要爬取的数据是否在网页中,可以去查看网页的源代码,查找信息是否在里面。
网友评论