linux做网站,南沙门户网站建设,替代wordpress的软件,网站建设内页写本篇文章#xff0c;我认为是能把自己所理解的内容分享出来#xff0c;说不定就有和我一样有这样思维的共同者#xff0c;希望本篇文章能帮助大家#xff01;✨✨ 文章目录 一、 #x1f308;python介绍和分析二、 #x1f308;http请求三、 #x1f308;http响应四、… 写本篇文章我认为是能把自己所理解的内容分享出来说不定就有和我一样有这样思维的共同者希望本篇文章能帮助大家✨✨ 文章目录 一、 python介绍和分析二、 http请求三、 http响应四、 教程演示五、获取豆瓣top榜上前250部电影的响应内容 一、 python介绍和分析
Python爬虫又称网络爬虫或网页抓取程序是一种自动化程序它主要用于从互联网上抓取大量信息。这类程序按照预设的规则遍历互联网上的网页并抽取其中有价值的数据。
思维导图 具体内容Python爬虫通常涉及以下几个核心步骤 发起请求 使用Python中的HTTP库如requests模拟浏览器发送HTTP/HTTPS请求到目标网站每个请求都包含了URL地址以及可能的请求头信息如User-Agent、Cookie等。 接收响应 当服务器接收到请求后会返回一个HTTP响应其中包括状态码、响应头和网页内容通常是HTML但也可能是JSON、XML或其他格式。 解析内容 使用解析库如BeautifulSoup、lxml用于HTML/XML解析PyQuery、parsel等对响应内容进行解析从中提取所需的数据。如果是结构化数据如JSON可以直接使用Python的json模块解析。 数据处理与存储 抽取后的数据会被进一步处理清洗、转化等然后存储在本地文件如CSV、JSON、TXT等格式或数据库系统如MySQL、MongoDB等中以便后续分析或构建应用。 URL管理与爬取策略 爬虫还需要一个URL管理机制来跟踪已经访问过的链接避免重复抓取并决定接下来要抓取哪个URL这可以通过内存、数据库或队列等方式实现。同时爬虫还会涉及到一些高级策略比如深度优先搜索DFS、广度优先搜索BFS、优先级队列等。 反爬与应对措施 针对网站的反爬虫策略爬虫开发者还可能需要处理cookies、session管理、验证码识别、动态加载内容等问题甚至采用IP代理池等技术绕过访问限制。 本章节主要讲前面的第一小节如何获取网页内容 二、 http请求 请求行
解析方法类型 / 资源路径 后面可跟查询参数/ 协议版本请求头
解析域名 / 路径 查询参数User-Aent用来告知服务器客户端的相关信息accept客户端想接收的响应数据是什么类型的文件名/类型和任意类型*/*请求体
解析存放客户端传给服务器的其他任意数据get的请求体一般是空的三、 http响应 状态行
解析
协议版本 、状态码、状态消息解析
状态码和状态消息是对应的12开头的表示成功请求已经完成处理23开头的表示重定向需要进一步的操作34开头的表示客户端错误比如请求里面有错误 或请求的资源无效等45开头的表示服务器错误比如出现问题或者正在维护响应头
解析
Date生成响应的日期和时间Content-Type返回内的类型及编码格式响应体
解析
html网页内容四、 教程演示
安装python第三方库requests打开终端输入 pip install requests import requests
# 获取请求网址 https://books.toscrape.com/ ——专门用于爬虫练习的网站
responserequests.get(https://books.toscrape.com/)
print(response)
print(response.status_code) # 检验请求是否成 返回200则成功如果输出显示的内容是200则说明该请求成功其他则是其他原因具体可参考请求响应错误原因HTTP 响应状态码
输出
利用if语句判断和ok的方法请求成功则返回网页内容以html的格式打印输出
import requests
# 获取请求网址 https://books.toscrape.com/ ——专门用于爬虫练习的网站
responserequests.get(https://books.toscrape.com/)
# 利用判断语句使用ok的方法获取网页数据
if response.ok:print(response.text) # 获取网页内容
else:print(请求失败)输出内容 五、获取豆瓣top榜上前250部电影的响应内容
豆瓣网网址https://movie.douban.com/top250
先看请求情况
import requests
# 获取豆瓣top榜上前250部电影的响应内容
responserequests.get(https://movie.douban.com/top250)
# 查看获取响应的状态码是什么
print(response.status_code)输出 具体什么是418参考https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/418 如何模拟浏览器的构成请求头
随便找一个网页进入控制台鼠标右键——检查或者按F12 网络刷新——随便点击一个响应——找到Request Headers里面的User-Agent复制后面的内容写入代码中。 代码块
import requests# 模拟浏览器的构成请求头以字典的形式存储将复制冒号后的内容填写
headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0
}
# 获取豆瓣top榜上前250部电影的响应内容
responserequests.get(https://movie.douban.com/top250,headersheaders)
# 查看获取响应的状态码是什么
print(response.status_code)
# 打印response的内容
print(response.text)显示200 响应成功且获取信息成功 本章内容到此结束谢谢大家的支持希望本期作品可以简单帮助大家了解爬虫基础 大家一起学习呀