当前位置: 首页 > news >正文

Python爬虫入门教程

文章目录:

一:Python基础

二:爬虫须知

1.流程

2.遵守规则

三:HTTP请求和响应

1.相关定义 

2.HTTP请求响应 

2.1 完整的HTTP请求

2.2 完整的HTTP响应

3.Requests库

四:HTML

1.HTML网页结构

2.常用标


参考:Python+爬虫

一:Python基础

Python快速入门教程

二:爬虫须知

1.流程

第一步:获取网页内容(Requests库发送HTTP请求)第二步:解析网页内容(Beautiful Soup库获取HTML网页结构内容信息)第三步:储存或分析数据

2.遵守规则

1.不要爬取公民隐私数据2.不要爬取受著作权保护的内容3.不要爬取国家事务国防建设和尖端技术领域
4.请求数量和频率不能过高:否则可能无异于DDos攻击5.有反扒限制就不要去爬取了:需要登录、验证码6.查看网站的robots.txt文件:了解可爬取的网页路径范围

三:HTTP请求和响应

1.相关定义 

HTTP:超文本传输协议客户端和服务器之间的请求响应协议请求方法Get:获得数据Post:创建数据接收的响应数据类型HTML:text/htmlJSON:application/jsonHTML和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              服务器当前不能处理客户端的请求

2.HTTP请求响应 

2.1 完整的HTTP请求

POST请求#请求行                        协议版本POST/user/info?new_user=true HTTP/1.1#请求头  域名             资源路径           查询参数Host:www.douban.com/movie/top250?start=75&filter=unwatchedUser-Agent:curl/7.77.0Accept:*/*#请求体{"username":"刘鑫磊","email":"123@qq.com"}GET请求#请求行GET/user/info?new_user=true HTTP/1.1#请求头Host:www.example.comUser-Agent:curl/7.77.0Accept:*/*

2.2 完整的HTTP响应

#状态行:协议版本 状态码 状态消息
HTTP/1.1 200 OK
#响应头
Date:Fri,27 Jan 2023 02:10:48 GMT
Content-Type:text/html;charset=utf-8
#响应体
<!DOCTYPE html><head><title>首页</title></head><body><h1>刘鑫磊</h1><p>非常棒</p></body>
</html>

3.Requests库

#在终端输入(视图——>工具窗口——>终端):pip install requests
import requests#把爬虫程序伪装成正常的浏览器
#任意网页——>鼠标右键——>检查——>Network——>User-Agent——>复制过来
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"}response=requests.get("http://movie.douban.com/top250",headers=headers)
print(response)
print(response.status_code)
if response.ok:# 获取响应体内容print(response.text)
else:print("请求失败")

四:HTML

1.HTML网页结构

<!DOCTYPE HTML>
<html><body><h1>我是标题</h1><p>我是一段文字</p></body>
</html>

2.常用标

标题:<h1></h1>文本段落:<p></p>换行:<br>图片:<img src="图片链接">链接:<a href="链接地址" target="_self"></a>       target="_blank"容器:<span></span>                               内联元素不会独占一块,一行可写多个有序列表:<ol><li></li></ol>
无序列表:<ul><li></li></ul>表格<table><thead>                 #头部<tr>                #行<td></td>       #列</tr><thead><tbody>                 #主体<tr>                # 行<td></td>       # 列</tr></tbody></table>class属性:定义元素的类名称,帮助我们分组class="content"     class="review"

http://www.lryc.cn/news/197079.html

相关文章:

  • 使用正则前瞻检查密码强度
  • react+ts手写cron表达式转换组件
  • 民安智库(第三方市民健康素养调研)居民健康素养调查的重要性及实施步骤
  • Linux | vim的入门手册
  • B053 项目部署
  • 视觉Slam面试题(不定时更新)
  • 从入门到进阶 之 ElasticSearch 节点配置 集群篇
  • UE4中无法保存项目问题
  • 解剖—顺序表相关OJ练习题
  • NAT网关在阿里云的应用
  • 操作系统体系结构和OS
  • Flutter ☞ 常量
  • C++ 配置VSCode开发环境
  • Arduino_STM32整理贴
  • MoeCTF 2023 Web+Jail wp
  • 494.目标和 474.一和零
  • 模拟电源与数字电源之间的区别
  • P5461 赦免战俘
  • 【工具】转码silk格式为mp3
  • 蓝桥杯每日一题2023.10.18
  • 大数据开发中的秘密武器:探索Hadoop纠删码的奇妙世界
  • 华为数通方向HCIP-DataCom H12-831题库(单选题:301-310)
  • Vite 踩坑 —— require is not defined
  • 彻底理解操作系统与内核的区别!
  • 微信小程序4
  • OpenCV14-图像平滑:线性滤波和非线性滤波
  • kafka_2.10启动Kafka broker
  • 【配置环境】SQLite数据库安装和编译以及VS下C++访问SQLite数据库
  • Confluence 自定义展示页面
  • 使用C#的Socket从头实现的带有文件上传和下载功能的HTTP服务器