爬虫总结

爬虫学习 | Django入门篇 python3.11 Django4.1 阅读详情

爬虫入门

一、爬虫简介

在各行各业如火如荼快速发展的今天,市场是决定一家公司是否可持续发展最重要的一个衡量指标,市场的定位和发展核心是对行业数据的分析,对于数据的分析必须进行大量数据的统计分析才能得到一个比较中肯的处理建议,那么问题就来了~分析市场的行业数据,从哪里才能得到呢?

当数据开始变得敏感开始变得值钱起来(一直都很值钱)之后,很多官方或者民间的机构,开始就数据市场展开了新一轮的竞争,如官方会提供各种数据的统计信息方便大家了解目前的民生情况,百度提供了搜索引擎数据方便上网的时候进行的快速检索,腾讯指数提供了对于时下流行关键词的指数分析方便对于某些数据的统计信息的提取等等,总的来说~数据提供者一般都提供两种数据,一种可以共享的免费数据,一种比较有针对性的私密数据;免费数据可以供所有人查看,但是私密数据在一定程度上可以选择收费查阅或者直接禁止查阅,目前对于数据的来源一把都有如下方式:

  1. 企业分析数据,如百度指数、腾讯指数、阿里指数等等
  2. 数据平台数据,如数据堂,国云数据市场等等
  3. 政府机构数据,如纳斯达克指数、国家统计局数据等等
  4. 数据咨询公司,如艾瑞咨询等等
  5. 网络爬虫采集

问题1:并不是所有的公司都可以付费购买数据

问题2:并不是所有的公司都满足于免费的数据?!

问题3:那么数据从哪里来?

网络爬虫 ,主要是针对网络上的数据通过编程的方式使用程序自动采集的一种手段,公司除了从第三方平台直接使用免费数据或者购买数据之外,更多的是通过网络爬虫的方式让爬虫工程师负责采集公司所需要的数据!这也是为什么爬虫工程师非常吃香的原因!

2. 通用爬虫和聚焦爬虫

一般情况下,根据爬虫程序的应用场景的不同,可以将爬虫程序大致分为两种类型:通用爬虫和聚焦爬虫

通用爬虫:通用爬虫是网络搜索引擎的一部分,遵循爬虫的robot协议,负责采集网络中的网页信息内容并建立索引,在自己的搜索引擎服务器上建议网络信息的索引镜像备份文件,达到对网络上的信息内容可以快速检索的目的。

robot协议:是关于网络爬虫的一种约定的协议,robot协议明确告诉了通用网络爬虫,哪些数据内容是可以爬取的,哪些数据内容是不允许爬虫采集的,如果是合法合规的爬虫程序,必须遵循robot协议约定的采集内容区域,否则可能涉及到维权行为!

聚焦爬虫: 聚焦爬虫是通过编程的方式针对特定的需要进行数据定向采集的一种手段,能更好的更加准确的采集用户需要的数据,在一定程序上能很好的满足业务数据需要。缺点在于聚焦爬虫的编码工作比较繁琐,针对不同类型的数据采集工作,需要定制化的开发不同的程序代码。然而~瑕不掩瑜的是,定向爬虫由于其特定收的采集手段,尤其是程序开发人员对于问题处理的操作方式愈发先进和自动化,聚焦爬虫更加受到公司的欢迎!

2.3. 网络请求那些事儿

网络中的数据,更多的操作是对于目标服务器上的网页数据的方式,网页数据的访问一般使用的都是HTTP和HTTPS协议;通过浏览器进行网页访问的过程中,在请求的请求头信息中包含了客户端浏览器的身份信息;在响应数据中包含了对于响应内容的描述信息等

2.3.1.HTTP和HTTPS协议

HTTP协议是超文本传输协议,是网页访问过程中最常用的一种协议,用于传输超文本标签描述的数据内容。默认访问端口:80

HTTPS协议是提供了安全通道的HTTP协议,在网页数据访问过程中,对于访问的数据进行了数字签名实现了非对称的数据加密方式以保障数据的安全性。默认访问端口:443

在指定的访问协议写,进行数据资源的访问,通过网络统一资源定位符URL进行访问,一般情况下,一个完整的请求URL主要包含如下几个部分:

http://www.baidu.com/s?wd=url

[访问协议]://[主机域名][:端口号]/[资源路径][?查询字符串]

2.3.2.请求方式

HTTP1.1协议标准规定了8中常规请求方式,分别如下:

  • GET:定义用于从服务器获取数据
  • POST:定义用于向服务器更新数据
  • PUT:定义用于向服务器提交数据
  • DELETE:定义用于在服务器中删除指定数据
  • OPTIONS:定义客户端可以通过请求查询服务器处理信息
  • HEAD:定义用于获取请求内容的报文头信息
  • CONNECT:定义可以通过管道的方式连接
  • TRACE:定义心跳消息诊断的实现

常规的web项目中,在实际使用操作时我们一般使用get/post两种请求操作方式,通过get/post两种请求方式完成和服务器之间的常规数据交互已经可以满足我们项目的大部分情况

  • GET请求:访问的url地址中可以包含传递给服务器的参数,参数必须是字符串,url地址的长度浏览器本身没有限制,但是受到服务器最大接收数据长度的限制,所以get请求一般用于传输不需要保密的长度收到限制的字符串数据。处理效率较高
  • POST请求:访问的url地址中不会出现传递给服务器的参数,参数会包含在请求体中进行处理,主要传递字符串数据,可以传递二进制数据,传递数据的大小浏览器同样没有做什么限制,但是服务器端会根据实际需要进行数据量的限制,避免传递过大的数据到底服务器资源不够使用!所以post请求一般用于传递较为敏感的不能暴露给别人看到的并且数据较大的数据

随着web软件的发展,除了常规的请求操作方式之外,新的请求处理方式RESTful风格也逐步的在很多软件中开始应用,在RESTful处理风格中,经常使用如下四种请求方式:

  • GET: 用于从服务器中获取数据
  • POST:用于在服务器中更新数据
  • DELETE:用于在服务器中删除指定数据
  • PUT: 用于向服务器提交新的数据

并且在处理过程中,和服务器交互的参数有可能会包含在Url地址中,这样更加提高了参数的安全性。

2.3.2.请求头request header

请求头信息是请求数据的重要组成部分之一,包含了客户端请求的身份标识等重要信息,就请求头简单了解如下内容:

  • Host:访问web资源的网络域名和端口号
  • Connection: 连接类型,一般当下浏览器都会发送一个这样数据:Connection:keep-alive给对应的服务器,keep-alive是保持连接的意思,也就是长连接的意思,如果服务器支持客户端keep-alive长连接,会返回包含keep-alive的响应数据表示建立长连接,可以继续进行操作;如果服务器不支持就直接返回close关闭连接操作
  • Upgrade-insecure-requests:请求升级,就是当用户在通过http协议访问当前资源数据时,自动替换为https安全访问协议并且不提示警告信息
  • User-agent:用户代理,用于代理客户发起请求的工具,一般表示浏览器,描述访问网页的浏览器的信息
  • Accept:接受数据类型描述;如Accept:text/html;表示客户端可以接收的数据是html网页文档数据;Accept:/;表示客户端可以接收任何数据
  • Accept-encoding:接受文件的解码格式,一般传输的内容如:Accept-encoding:gzip;q=1.0;identify;q=0.5;*;q=0,表示如果有返回多种数据内容,首先匹配gzip压缩的文档内容,如果不是通过gzip压缩的格式,就匹配identify压缩编码格式;否则就接受任意编码格式的数据
  • Accept-language:客户端的语言类型,当服务器支持指定的语言类型时,返回给客户端指定的国际化语言内容;
  • Referer:请求来源,也就是当前网页是从哪个网页发起的请求,一般用于反盗链操作
  • Cookie:发送给服务器的cookie数据,通过请求头中的cookie属性将客户端的cookie数据传递给服务器进行处理
  • Content-type:内容类型,一般在POST请求中有效,表示指定post请求传递的数据的类型




什么是网络爬虫 又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。 阅读详情

相关推荐

什么是网络爬虫?有什么用?怎么爬?

随着大数据时代的来临,网络爬虫在互联网中的地位将越来越重要。互联网中的数据是海量的,如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。如果只是做搜索引擎,那么感兴趣的信息就是互联网中尽可能多的高质量网页;如果要获取某一垂直领域的数据或者有明确的检索需求,那么感兴趣的信息就是根据我们的检索和需求所定位的这些信息,此时,需要过滤掉一些无用信息。前者我们称为通用网络爬虫,后者我们称为聚焦网络爬虫。

m0_72282564的博客 1980

使用Django开发爬虫系统

爬虫系统用于从互联网上收集信息,常用于数据分析、搜索引擎等领域。我们选择使用Django作为开发框架,因为它提供了强大的数据库管理和Web开发功能,能够帮助我们快速搭建一个稳健的爬虫系统。在models.py。

FLK_9090的博客 2448

网络爬虫之必备知识

摘要:本文主要理清网络爬虫的概念,简要讲解爬虫的必备知识,分为python基础、字符编码、http头信息、http状态码、html基础、爬虫职业道德。内容浅显,主要理一理相关知识。一、网络爬虫的概念   网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 通俗的说,我们写爬虫的目的就是自动从不同的网页上提取海量的数据。以下是我之前爬取的部分数据

CaiNiaoWuZui的专栏 5860

爬虫学习总结

记录mac使用chromedriver的解决办法 优快云解决办法链接chr=webdriver.Chrome(r'/Users/a./opt/chromedriver/chromedriver') # 带完整路径的写法 我的插件所在地址/Users/a./opt/chromedriver/chromedriver 解决办法: 直接在新开窗口时候:r‘插件所在位置’ 记录mac在终端使用jupyter notebook 把要使用的目录在终端打开 输入:jupyter notebook ![image.p

Hz.的博客 3257

爬虫基础(1)什么是网络爬虫

文章目录一. 认识网络爬虫二. 网络爬虫的组成三. 网络爬虫的类型1. 通用网络爬虫2. 聚焦网络爬虫3. 增量式网络爬虫4. 深层网络爬虫(1)静态网页(2)深层页面和表层页面(3)网络爬虫表单填写四. 网络爬虫的用途 一. 认识网络爬虫 说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线,通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地

Python达人 2841

LIGGGHTS开源离散元仿真:从基础安装到高级应用实战

本文详细介绍了LIGGGHTS开源离散元仿真软件的基础安装、脚本编写及高级应用实战。从颗粒自由落体模拟到工业级复杂系统建模,涵盖CFD-DEM耦合、高性能计算优化等关键技术,帮助用户快速掌握这一强大的颗粒仿真工具。特别适合需要处理颗粒系统仿真的科研人员和工程师。

l1k9j8h7g6的博客 620

爬虫学习笔记

P6笔记 文章目录@[toc]1.虚拟环境1.1 虚拟环境管理模块1.2 环境一致性1.3 查看包的详细信息1.4 打包2.爬虫2.1 爬虫的概念2.1.1 `pyinstaller`2.2 通用爬虫2.3 robots协议2.4 聚焦爬虫2.5 requests模块2.6 OSI七层模型2.7 TCP/IP五层模型2.8 TCP和UDP2.9 ARP协议2.9.1 ssh2.9.2 服务器创建的默认端口2.9.3 `http`与`HTTPS`协议的区别3.请求3.1 .

weixin_45839321的博客 2632

BIOS更新后PIN不可用怎么办?从原理到实操的完整修复指南

在计算机维护中,BIOS更新是常见的固件升级操作,但其引发的登录异常却常让用户措手不及。Windows Hello PIN并非传统密码,它通过TPM芯片与设备启动环境(PCR状态)强绑定,一旦主板固件或安全启动配置改变,TPM便会拒绝释放密钥,导致“由于此设备上的更改,你的PIN不再可用”。理解这一原理后,恢复路径清晰可控:优先尝试密码登录,或通过WinRE替换utilman.exe创建临时管理员,必要时还需处理BitLocker恢复密钥。本文面向系统维护与数据安全场景,系统梳理PIN失效的恢复流程与避坑方

weixin_31364787的博客 371

Python爬虫

Python爬虫

Java癫疯的博客 1464

生态位宽度计算&可视化展示(R语言)

物种的生态位越宽,该物种的特化程度就越小,倾向于泛化种(generalist species);物种的生态位越窄,倾向于是一个特化种(specialists species)。生态位宽度是指物种(或其它生物单位)在群落中所利用的各种不同资源的总和。本篇所使用为生态位宽度指数即**Levins的生态位宽度指数。

weixin_53705272的博客 4435

深入解析PCIe Retimer:工作原理与典型应用场景

本文深入解析了PCIe Retimer的工作原理与核心价值。作为高速信号的中继再生器,Retimer通过时钟数据恢复和信号再生技术,有效解决长距离或复杂通道中的信号衰减与完整性问题,从而极大地扩展了PCIe链路的有效传输距离。文章详细阐述了其内部架构、自动与手动两种工作模式,并重点介绍了在长距离板间互连、复杂背板设计等典型应用场景中的关键作用。

weixin_29195615的博客 506

网络爬虫【简介】

网络爬虫的简介和浏览器分析工具

2401_88885149的博客 1万+

【YOLOv8系列】在Windows上离线搭建YOLOv8运行环境

我们都知道,通过 pip安装YOLOv8是非常方便的,但是有时候网络环境受到限制,比如公司的工作站(无法连接网络)或者机房的教学机器等等,只能通过离线的方式安装YOLOv8;今天就来记录一下离线搭建YOLOv8运行环境的过程。并记录了遇到的问题及解决过程。

AnChenliang_1002的博客 2005

网络爬虫是什么?怎么学python爬虫

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。

Itmastergo的博客 3万+

docker容器ubuntu:latest里使用uv add mysqlclient安装失败的解决方案

在Docker容器(ubuntu:latest)中安装mysqlclient失败,原因是缺少必要的依赖包。错误显示系统找不到pkg-config工具和MySQL客户端库。解决方法:先更新软件源并安装构建工具、Python开发包、MySQL客户端库和pkg-config工具。具体步骤:运行sudo apt update,然后安装build-essential python3-dev default-libmysqlclient-dev pkg-config,最后再执行uv add mysqlclient即可成

拥抱具身智能,昇腾Ascend C 295

异常数据(outlier data)处理基于分位数法(箱图法、箱型法)替换及删除方案

异常数据(outlier data)处理基于分位数法(箱图法、箱型法)替换及删除方案 简单统计法: 这个原则有个条件:数据需要服从正态分布。 在3倍标准差原则下,异常值如超过3倍标准差,那么可以将其视为异常值。正负3的概率是99.7%,那么距离平均值3之外的值出现的概率为P(|x-u| > 3) <= 0.003,属于极个别的小概率事件。如果数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述。 分位数法(箱图法、箱型法): 并不是说从高斯分布中抽出的所有数据都符..

data+scenario+science+insight 1795

终于有人把网络爬虫讲明白了

摘要:Python网络爬虫的详尽解释。导读:网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果...

苏克的博客 4342

3步!Spring Boot+OCR引擎秒提身份证/营业执照?手把手教你从零实现!

OCR技术革新文档识别效率 本文演示了如何利用Spring Boot+Tesseract OCR+OpenCV构建自动化文档识别系统。相比传统人工录入,OCR技术可实现: 5秒极速提取身份证/营业执照关键信息 精准识别中文文本(准确率90%+) 正则过滤自动匹配结构化数据 技术要点: OpenCV图像预处理(灰度化+二值化) Tesseract多语言OCR识别 正则表达式精准提取证件号码 效率提升达100倍,错误率降低90%,适用于金融、政务等需要批量处理证件的场景。

java专栏 905

网络爬虫是什么

作为一家大数据公司的运营小编,经常会有人问我“诶?你说的爬虫是什么呀”“爬虫的用途是什么呀?”“你们公司是卖爬虫的吗,有蜥蜴吗?”等一系列问题,面对这些问题,小编是绝望的。那么爬虫到底是什么呢? 一、爬虫是什么 以下是百度百科上对于网络爬虫的定义: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或

u011231755的博客 5万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

网络爬虫解析

网络爬虫(也称为网页蜘蛛、网络机器人)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以用于从网站提取数据,例如监测社交媒体平台上的活动,或者从网上收集新闻和文章。它们也可以用于搜索引擎,如Google和Bing,来抓取和索引网页,以便在用户进行搜索时提供结果。URL通常由多个部分组成,包括协议类型(如HTTP、HTTPS)、主机名(域名或IP地址)、路径(资源在主机上的位置)以及可选的查询参数(用于传递额外的信息)。通过URL,用户可以方便地访问和定位到特定的网络资源。

2301_82032652的博客 2634

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了

【导读】网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。 此时,我们可以使用网络爬虫对数据信息进行自动采集,比如应用于搜索引擎中对站点进行爬取收录,应用于数据分析与挖掘中对数据进行采集,应用于金融分析中对金融数据进行采集,除此之外,还可以将网络爬虫应用于舆情监测...

python学习者的博客 3万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

网络爬虫技术

本文介绍了网络爬虫的基础概念与应用。主要内容包括:1)爬虫定义与分类,分为通用、聚焦、增量式和深层网络爬虫四种类型;2)核心工作原理,涉及HTTP请求过程、响应结构和网页基础;3)常见爬取策略如宽度优先(BFS)和深度优先(DFS)遍历;4)Python中Requests库的使用方法,包括请求发送、响应处理和异常捕获。文章通过百度网页爬取实例,展示了网络爬虫从发送请求到获取响应的完整流程,为初学者提供了网络数据采集的基础知识框架。

2302_78993464的博客 2958

网络爬虫详解

网络爬虫(web crawler,又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 产生背景 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南

顺其自然~专栏 9168

网络爬虫的定义是什么?

网络爬虫的定义是什么?网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。网络爬虫在我们的生活中扮演怎样的角色?在数字化时代,信息如同潮水般汹涌而来。过去,我们可能依赖书籍、报纸或电视来获取信息,但这些渠道的信息量有限,而且筛选过的信息未必能满足我们的需求。如今,互联网为我们提供了海量的信息,但同时也带来了“信息过载”的问题。

logic1001的博客 2345

网络爬虫学习

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。类型:网络爬虫按照系统结构和实现技术,大致可以分为以下几种:通用网络爬虫(General Purpose Web Crawler)、聚焦网络爬虫(Focused Web Crawler)、增量式网络爬虫(Incremental Web Crawler)、深层网络爬虫(Deep Web Crawler)。

2303_77635734的博客 2466
上一篇: Django开发总结 二
下一篇: 2.爬虫基础——urllib2模块
掉海里
博客等级 码龄9年 3粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值