资讯动态

python爬虫学习

发布时间:2026/8/21 22:13:23 来源:尧图企业网站定制
前言很多初学 Python 爬虫的小伙伴刚入门就不知道从哪下手分不清什么是爬虫协议、GET 和 POST 请求有什么区别也不知道普通静态网页和动态 JS 网页该用什么工具爬取。本文从零开始一次性讲透robots.txt 规则、requests 库核心用法、get () 函数、Response 响应对象、post () 函数、Selenium 自动化爬虫六大核心知识点适合小白入门学习也可以作为爬虫基础笔记收藏。一、爬虫必备robots.txt 协议规则1. 什么是 robots.txtrobots.txt是网站定义的爬虫准入协议文件放在网站根目录下用来告诉网络爬虫哪些页面可以爬、哪些禁止爬。它不是强制性法律约束是行业道德规范正规爬虫都会遵守该规则避免给服务器造成压力也避免侵权违规。2. 如何查看网站 robots.txt格式网站域名/robots.txt示例百度https://www.baidu.com/robots.txtCSDNhttps://blog.csdn.net/robots.txt3. 常见 robots 规则语法User-agent: *代表对所有爬虫生效。Disallow: /禁止爬取网站所有目录。Disallow: /admin/禁止爬取 admin 后台目录。Allow: /允许爬取所有目录。4. 爬虫开发规范爬取前先查看目标网站 robots.txt控制爬取频率设置延时不要高频疯狂请求不爬取隐私数据、付费内容、敏感信息合理设置请求头 User-Agent 伪装浏览器。二、requests 库介绍与环境安装1. 什么是 requests 库requests是 Python 最流行的网络请求库语法简洁、使用简单用来模拟浏览器向服务器发送 HTTP 请求获取网页源码、图片、接口数据等是静态网页爬虫的首选。2. 安装依赖库打开命令提示符执行bash运行pip install requests三、requests 库 get () 函数使用1. get () 函数作用get()是GET 请求属于最常用的请求方式特点参数直接拼接在 URL 后面数据明文展示长度有限一般用于查询、获取数据浏览网页、搜索、获取壁纸等。2. 基础语法import requests # 发送GET请求 url 目标网址 res requests.get(url)3. 带请求头伪装浏览器不加请求头容易被网站识别为爬虫拦截必须加User-Agentimport requests url https://www.baidu.com headers { User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 } res requests.get(url, headersheaders)4. GET 带参数请求适合分页、搜索传参import requests url https://www.gamewallpapers.com/index.php headers {User-Agent:Mozilla/5.0} params { start:0, page:1 } res requests.get(url, headersheaders, paramsparams)四、Response 响应对象详解调用requests.get()/requests.post()后返回的就是Response 对象里面包含了服务器返回的所有信息。常用属性与方法import requests res requests.get(https://www.baidu.com) # 1. 响应状态码 200正常 404页面不存在 500服务器错误 print(res.status_code) # 2. 网页源码字符串 print(res.text) # 3. 字节流数据下载图片、视频、文件用 print(res.content) # 4. 请求的最终URL防止重定向 print(res.url) # 5. 响应头信息 print(res.headers) # 6. 编码格式 print(res.encoding)核心说明res.text文本形式爬网页文字、html 源码res.content二进制字节下载图片、音频、视频必用状态码 200 代表请求成功其他状态码需做异常处理。五、requests 库 post () 函数使用1. post () 函数作用post()是POST 请求特点和 GET 完全不同参数放在请求体中不暴露在 URL无长度限制安全性更高常用于登录、注册、提交表单、上传数据。2. 基础语法import requests url 登录接口地址 headers {User-Agent:Mozilla/5.0} # 表单提交数据 data { username:账号, password:密码 } # 发送POST请求 res requests.post(url, headersheaders, datadata) print(res.text)3. GET 和 POST 核心区别表格对比项GETPOST参数位置URL 链接后请求体中安全性低明文可见高隐藏参数数据长度有限制无限制用途查询、浏览、分页登录、提交表单、上传六、Selenium 库爬虫使用教程1. 为什么要用 Seleniumrequests只能爬静态网页对于JS 动态渲染、异步加载、需要登录下拉刷新的网页直接请求拿不到真实源码。Selenium 是自动化测试工具可以模拟真实浏览器打开网页、加载 JS、点击、下拉、输入内容完美爬取动态网页数据。2. 安装依赖pip install selenium还需要下载对应浏览器驱动ChromeDriver/EdgeDriver和浏览器版本匹配。3. Selenium 基础使用示例from selenium import webdriver from time import sleep # 创建浏览器对象 driver webdriver.Edge() # 打开指定网址 driver.get(https://www.baidu.com) # 等待加载 sleep(2) # 关闭浏览器 driver.quit()4. 常用基础操作打开网页driver.get(url)页面休眠sleep(秒数)等待 JS 加载获取网页源码driver.page_source关闭浏览器driver.quit()定位元素、输入内容、模拟点击可实现自动登录、翻页爬取5. 适用场景JS 动态加载的图片、数据需要人机交互登录、验证码、下拉刷新requests 无法直接获取源码的网站。七、总结robots.txt是爬虫行业规范爬取前遵守网站规则控制爬取频率requests 库是静态爬虫核心掌握get()做数据查询、post()做表单提交Response 对象重点掌握status_code、text、content分别用于状态判断、爬文字、下载文件Selenium专门解决动态 JS 网页爬虫模拟真实浏览器行为弥补 requests 的不足。掌握以上知识点就已经具备 Python 爬虫的基础能力可以自己练习爬取壁纸、小说、静态网页数据、动态网页信息等实战项目。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价