笔记
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、字符换知识点
str类型和bytes类型
bytes:二进制,互联网上的数据都是以二进制的方式传输的
str:unicode的表现形式
字符集包括:ASCLL、GB2312、GB18030、Unicode
ASCLL编码是一个字节,而Unicode编码通常是2个字节
UTF-8是Unicode的实现方式之一,UTF-8是它是一种变长的编码方式,可以是1,2,3个字节
str通过encode方法转化为bytes
bytes通过decode转化为str
二、HTTP和HTTPS
1.简单概念
HTTP:超文本传输协议
默认端口号:80
HTTPS:
HTTP + SSL(安全套接字层)
默认端口号:443
HTTPS比HTTP更安全,但是性能更低
默认端口号需要记住!
2.url
url的形式:
scheme://host[:port#]/path/…/[?query-string][#anchor]
scheme:协议(例如:http、https、ftp)
host:服务器的IP地址或者域名
port:服务器的端口(如果是走协议默认端口,80 or 443)
path:访问资源的路径
query-string:参数,发送给http服务器的数据
anchor:锚(跳转到网页的指定锚点位置)
eg:
http://localhost:4000/file/part01/1.2html
http://item.jd.com/11936238.html#product-detai
3.http请求的格式
请求方法 空格 URL 空格 协议版本 回车符 换行符 -> 请求行
头部字段名: 值 回车符 换行符
头部字段名: 值 回车符 换行符
回车符 换行符
请求数据
4.HTTP常见请求头
- 1、Host(主机和端口号)
- 2、Connection(链接类型)
- 3、Upgrade-Insecure-Requests(升级为HTTPS请求)、
- 4、User-Agent(浏览器名称)
- 5、Accept(传输文件类型)
- 6、Referer(页面跳转处)
- 7、Accept-Encoding(文件编解码格式)
- 8、Cookie(Cookie)
- 9、x-requested-with:XMLHttpRequest(是Ajax异步请求)
5.响应状态码
- 200 : 成功
- 302 : 临时转移至新的url
- 307 : 临时转移至新的url
- 404 : not found
- 500 : 服务器内部错误
6.ROBOTS协议
网站通过Robots协议告诉搜索引擎哪些页面可以爬取,
哪些页面不能爬取。
三、爬虫
1.爬虫的概念
简单来说,就是爬虫是模拟浏览器发送请求,获取响应。
2.爬虫的流程
url–>发送请求,获取响应–>提取数据–>保存
其中包括:发送请求,获取响应–>提取url
3.爬虫的分类
通用爬虫 : 针对搜索引擎的爬虫
聚焦爬虫: 针对特定网站的爬虫
4.requests模块
- response = requests.get(url)
代码如下(示例):
import requests
-
response的常用方法 :
response.text
response.content
response.status_code
response.request.headers
response.headers
代码如下(示例):
#coding=utf-8
import requests
resp=requests.get('https://www.baidu.com') #请求百度首页
print(resp) #打印请求结果的状态码
print(resp.content) #打印请求到的网页源码