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等形式村相互

   二进制文件

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


相关文章
|
1月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
82 3
|
2月前
|
机器学习/深度学习 算法 数据挖掘
线性回归模型的原理、实现及应用,特别是在 Python 中的实践
本文深入探讨了线性回归模型的原理、实现及应用,特别是在 Python 中的实践。线性回归假设因变量与自变量间存在线性关系,通过建立线性方程预测未知数据。文章介绍了模型的基本原理、实现步骤、Python 常用库(如 Scikit-learn 和 Statsmodels)、参数解释、优缺点及扩展应用,强调了其在数据分析中的重要性和局限性。
78 3
|
2月前
|
数据采集 监控 数据库
爬虫技术详解:从原理到实践
本文详细介绍了爬虫技术,从基本概念到实际操作,涵盖爬虫定义、工作流程及Python实现方法。通过使用`requests`和`BeautifulSoup`库,演示了如何发送请求、解析响应、提取和保存数据,适合初学者学习。强调了遵守法律法规的重要性。
319 4
|
12天前
|
算法 数据处理 Python
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
Savitzky-Golay滤波器是一种基于局部多项式回归的数字滤波器,广泛应用于信号处理领域。它通过线性最小二乘法拟合低阶多项式到滑动窗口中的数据点,在降噪的同时保持信号的关键特征,如峰值和谷值。本文介绍了该滤波器的原理、实现及应用,展示了其在Python中的具体实现,并分析了不同参数对滤波效果的影响。适合需要保持信号特征的应用场景。
65 11
高精度保形滤波器Savitzky-Golay的数学原理、Python实现与工程应用
|
1天前
|
安全 数据挖掘 编译器
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
【01】优雅草央央逆向技术篇之逆向接口协议篇-如何用python逆向接口协议?python逆向接口协议的原理和步骤-优雅草央千澈
|
2天前
|
数据采集 供应链 API
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务领域,数据是驱动业务决策的核心。阿里巴巴旗下的1688平台作为全球领先的B2B市场,提供了丰富的API接口,特别是图片搜索API(`item_search_img`),允许开发者通过上传图片搜索相似商品。本文介绍如何结合Python爬虫技术高效利用该接口,提升搜索效率和用户体验,助力企业实现自动化商品搜索、库存管理优化、竞品监控与定价策略调整等,显著提高运营效率和市场竞争力。
20 3
|
13天前
|
数据采集 存储 缓存
如何使用缓存技术提升Python爬虫效率
如何使用缓存技术提升Python爬虫效率
|
14天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
23天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。