scheme://host[:post#]/path/../[?query-string][#anchor]
scheme:协议:(http,https,ftp)
host:
path:
query-string:
anchor:
http://localhost:4000/part01/1.2.html
http://item.jd.com/1193238.html#product-detail
请求
post
get
相应状态码
200:成功
302临时转移到心的url
404:not found
500:服务器内部错误
1XX:指示信息
2XX:成功
3XX:重定向
4XX:客户端错误
5XX:服务器端错误
爬虫:抓取网页上的数据
网页三大特征:
网页有唯一url
网页都是HML来描述页面信息
网页都使用HTTP/HTTPS协议来传输HTML数据
爬虫的设计思路:
确定需要平爬取的URL地址
通过http/https协议获取对应的html页面
提取html页面有用的数据
python做爬虫
开发效率高、支持的模块多、HTTP请求和HTML解析的模块丰富,调用其他接口也非常方便
爬虫的分类
1.通用爬虫:通常指搜索引擎的爬虫
目的:
尽可能大互联网上所有的网页下载下来,放到本地服务器形成备份,在对这写网页做相关处理(提取关键字,去除广告),提供给用户检索接口
抓取流程:
1.选取一部分已有的URL,把这些URL放到带爬取队列
2.从队列里取出这些URL,然后解析DNS得到主机ip,然后去这个ip对应的服务器下载HTML,然后保存到搜索引擎的本地服务器
3.分析这些网页内容,找出网页里面其他的URL连接,继续执行第二步,直到爬取条件结束
Robots协议
通用爬虫
2.聚焦爬虫:针对特定网站的爬虫
面向需求的爬虫,会针对某种特定内容的爬虫
浏览器发送http请求的过程
爬虫requests库
python
import requests
response=requests.get('http://www.baidu.com')//获取内容
response.content//回答的内容
response.content.decode()//字节转换成字符串
response.text
response.encoding='utf-8'
response.text