python爬虫的基本原理

简介: 1.什么是爬虫网络爬虫,请求网站并提取数据的自动化程序2.爬虫基本流程 发起请求 获取响应内容 解析内容 保存数据


1.什么是爬虫

网络爬虫,请求网站并提取数据的自动化程序

2.爬虫基本流程

   发起请求

   获取响应内容

   解析内容

   保存数据

3.什么是Request和Response?

image.png

4.Request中包含什么

   请求方式

   主要有Get,POST两种类型

   另外还有HEAD,PUT,DELETE,OPTIONS等

   请求URL

   URL全称统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定。

   请求头

   包含请求时的头部信息,如User-Agent,Host,Cookies等信息

   请求体

   请求时额外携带的数据

   如表单提交时的表单数据

5.Response中包含什么

   响应状态

   有多种响应状态,如200代表成功,301代表跳转,404找不到页码,502服务器错误

   响应头

   如内容类型,内容长度,服务器等信息,设置Cookie等待

   响应体

   最主要的部分,包含了请求资源的内容,如网页HTML,图片二进制的数据等

import requests
response = requests.get("http://www.baidu.com")
print(response.text)
print(response.headers)
print(response.status_code) #响应体
headers = {'User-Agent':
    '''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\
    (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'''}
response = requests.get("http://www.baidu.com", headers = headers)

6.能抓怎样的数据

   网页文本

   如HTML文档,Json格式文本等

   图片

   获取到的是二级制文件,保存为图片格式

   视频

   同为二进制文件,保存为视频格式即可。

   其它

   只要是能请求到的,都能获取

7.怎样来解析

   直接处理

   Json解析:weibo

   正则表达式

   BeautifulSoup

   PyQuery

   Xpath

8.为什么我抓到的和浏览器看到的不一样

网页源代码是js渲染之后的代码,所以和我们抓到的代码不一样

9.怎样解决JavaScript渲染的问题

   分析Ajax请求

   Selenium/WebDriver:获得源代码与网页一样

   Splash

   PyV8,Ghost.py

怎样保存数据?

   文本

   纯文本,Json,Xml等

   关系型数据库

   如MySQL,Oracle,SQL Server等具有结构化表结构形式存储。

   非关系型数据库

   如MongoDB,Redis等Key-Value等形式村相互

   二进制文件

   如图片,视频,音频等等直接保存成特定格式即可


相关文章
|
2月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
179 3
|
3月前
|
机器学习/深度学习 算法 数据挖掘
线性回归模型的原理、实现及应用,特别是在 Python 中的实践
本文深入探讨了线性回归模型的原理、实现及应用,特别是在 Python 中的实践。线性回归假设因变量与自变量间存在线性关系,通过建立线性方程预测未知数据。文章介绍了模型的基本原理、实现步骤、Python 常用库(如 Scikit-learn 和 Statsmodels)、参数解释、优缺点及扩展应用,强调了其在数据分析中的重要性和局限性。
144 3
|
1月前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
71 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
9天前
|
数据采集 存储 数据挖掘
深入剖析 Python 爬虫:淘宝商品详情数据抓取
深入剖析 Python 爬虫:淘宝商品详情数据抓取
|
12天前
|
存储 数据采集 数据库
Python爬虫实战:股票分时数据抓取与存储
Python爬虫实战:股票分时数据抓取与存储
|
2月前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
191 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
1月前
|
数据采集 JSON 数据格式
Python爬虫:京东商品评论内容
京东商品评论接口为商家和消费者提供了重要工具。商家可分析评论优化产品,消费者则依赖评论做出购买决策。该接口通过HTTP请求获取评论内容、时间、点赞数等数据,支持分页和筛选好评、中评、差评。Python示例代码展示了如何调用接口并处理返回的JSON数据。应用场景包括产品优化、消费者决策辅助、市场竞争分析及舆情监测。
|
1月前
|
安全 数据挖掘 编译器
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
76 6
|
1月前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
100 3

热门文章

最新文章