文章目录:
一:Python基础
二:爬虫须知
1.流程
2.遵守规则
三:HTTP请求和响应
1.相关定义
2.HTTP请求响应
2.1 完整的HTTP请求
2.2 完整的HTTP响应
3.Requests库
四:HTML
1.HTML网页结构
2.常用标签
3.BeautifulSoup库
实战:从豆瓣获取电影Top250
1.完整代码
2.运行结果
参考:Python+爬虫
Python快速入门教程
第一步:获取网页内容(Requests库发送HTTP请求) 第二步:解析网页内容(BeautifulSoup库获取HTML网页结构内容信息) 第三步:储存(数据库) 或 得到更多信息(数据分析)
1.不要爬取公民隐私数据 2.不要爬取受著作权保护的内容 3.不要爬取国家事务国防建设和尖端技术领域
4.请求数量和频率不能过高:否则可能无异于DDos攻击 5.有反扒限制就不要去爬取了:需要登录、验证码 6.查看网站的robots.txt文件:了解可爬取的网页路径范围
HTTP:超文本传输协议 客户端和服务器之间的请求响应协议 请求方法 Get:获得数据 Post:创建数据 接收的响应数据类型 HTML:text/html JSON:application/json HTML和JSON:text/html,application/json 任意类型:/*/ 常见的状态码和状态消息 200 ok 客户端请求成功 300 Moved Permanently 重定向资源被永久移动到新地址 400 Bad Request 客户端不能被服务器所理解 401 Unauthorized 请求未经授权 403 Forbidden 服务器拒绝提供服务 404 Not Found 请求资源不存在 500 Internal Server Error 服务器发生不可预期的错误 503 Server Unavailable 服务器当前不能处理客户端的请求
POST请求 #请求行 协议版本 POST/user/info?new_user=true HTTP/1.1 #请求头 域名 资源路径 查询参数 Host:www.douban.com/movie/top250?start=75&filter=unwatched User-Agent:curl/7.77.0 Accept:*/* #请求体 { "username":"刘鑫磊", "email":"[email protected]" } GET请求 #请求行 GET/user/info?new_user=true HTTP/1.1 #请求头 Host:www.example.com User-Agent:curl/7.77.0 Accept:*/*
#状态行:协议版本 状态码 状态消息 HTTP/1.1 200 OK #响应头 Date:Fri,27 Jan 2023 02:10:48 GMT Content-Type:text/html;charset=utf-8 #响应体
首页 刘鑫磊
非常棒