当前位置: 首页 > news >正文

四、(1)网络爬虫入门及准备工作(爬虫及数据可视化)

四、(1)网络爬虫入门及准备工作(爬虫及数据可视化)

  • 1,网络爬虫入门
    • 1.1 百度指数
    • 1.2 天眼查
    • 1.3 爬虫原理
    • 1.4 搜索引擎原理
  • 2,准备工作
    • 2.1 分析爬取页面
    • 2.2 爬虫拿到的不仅是网页还是网页的源代码
    • 2.3 爬虫就是将网页中的内容提取出来。
    • 2.4 爬虫需要找到规律
    • 2.5 使用开发者工具进行调试,找到要寻找的数据位置
    • 2.6 主程序入口(If _name_==”_main_”:)
    • 2.7 引入包或库(from test import t1)
    • 2.8 引入其他模块报错(两种解决方式)
      • (1)使用控制台方式(这里下载可能会因为网络的不稳定而下载失败)
      • (2)可进入setting中的interpreter解释器中添加包
    • 2.9 爬虫需要引入的包

1,网络爬虫入门

主要看课件
在这里插入图片描述

https://movie.douban.com/top250
此次任务只需对表面的也的分析,不用点进去的详细信息

接下来的1-2天进行
大概两天

后面项目做的需要扩展内容(时间充分)

使用程序复制网络上的数据

网络数据非常多,但数据价值,股市、金融数据保险等信息

电影天堂流量很大,可以在百度指数查看每天的访问人次

1.1 百度指数

在这里插入图片描述

电影天堂和吃鸡对比
在这里插入图片描述

可能你觉得很简单的网站流量也是非常大的

如电影天堂网站,很多信息并不是其自己写的,很多信息是来自豆瓣的

很多流量大的网站,

在这里插入图片描述

只需要将内容爬取出来

这么多的流量怎么赚钱,通过视频引流,使用广告变现,如右下角广告变现

搜索引擎就是网络爬虫

1.2 天眼查

在这里插入图片描述

天眼查的网站怎么赢利,有些信息不能看,需要充值才能看,卖的不是信息本身,卖的是信息之间的关系。基于数据分析,提供方案的。就是数据采集聚合。

原来的基本应用产生大量数据,现在要将数据整合,产生新的价值
爬虫可以完成特定行业的。

一些付费视频,前提是付过钱了,然后爬取,可能有加密,反爬取等

浏览器本身展示的看的,写的程序只是将我们看到的东西存起来(我们想要的数据)

爬虫根据每个网页,分析

1.3 爬虫原理

在这里插入图片描述

1.4 搜索引擎原理

在这里插入图片描述

这两天的内容是前半段,将爬取的数据放到数据库中,而搜索引擎在后半段,需要将爬取的东西做一个索引,用户搜索时,可以将索引快速定位到数据库中的数据。
每次搜索不是爬虫再爬取一次,而是数据展现

这里后面没讲索引,只是讲了数据的可视化展现,实际思路是一样的

准备工作:看目标网页,怎么分析,看那些是我们想要的内容,并且找到,还包括写程序的输出框架,问题预防解决的

获取数据:很多的库,发起请求,模拟浏览器发起,获取网页信息

页面解析:页面解析库,正则表达式等库

保存数据:保存到Excel或数据库,需要很多库

2,准备工作

2.1 分析爬取页面

准备工作是用来分析要爬取的页面的

https://movie.douban.com/top250?start=25&filter=

上方连接是第2页
问号后是参数名和参数值是&链接
start=25意思是从26个后提供共25个电影显示到页面
&filter= 可以不要
在这里插入图片描述

上来就看连接的特点,网络爬虫都是根据连接模拟浏览器访问网页,现在看到的所有东西

2.2 爬虫拿到的不仅是网页还是网页的源代码

返回的就是html网页,里面嵌入了js及css代码而已

在这里插入图片描述

2.3 爬虫就是将网页中的内容提取出来。

在这里插入图片描述

2.4 爬虫需要找到规律

在这里插入图片描述

2.5 使用开发者工具进行调试,找到要寻找的数据位置

在这里插入图片描述

network中,点击刷,可以看到,发起请求到显示结束,中间浏览器向服务器发出了这么多请求,因为这些请求的作用一直延长时间,中间有交互,只要有交互就会延长,可以点击红色圆圈停止记录。

点击刷新,只要内容是想要的就点击停止记录。
比如将鼠标放到开始

在这里插入图片描述

在这里插入图片描述

Response headers是我们发给服务器的,要求服务器的适配,服务器返回的信息就是整个网页

Headers下的所有内容全是浏览器发送给服务器的请求。

在这里插入图片描述
User-agent使用哪个浏览器,需要标明,如果没有,服务器可能不返回信息
Cookie如果是需要一些登录后才能进行的内容的爬取,就必须学会存储cookie和读取cookie
Headers是发送网络请求给服务器的消息,服务器通过此消息来鉴定我们的身份

在这里插入图片描述

Cookie:是服务器能标识客户端信息保存在本地的信息,里面是加密的,登录信息还是客户端行为信息保存在本地的内容。当访问豆瓣时,cookie可能反映了很多我的内容,如地理位置、ip地址、浏览的以前的关键字

记录行为,不仅在本地,每次访问都会给对方法消息,服务器可以通过此进行分析

宏观可以知道有多少人使用谷歌浏览器,多少windows系统,有多少人的分辨率多少

在这里插入图片描述
根据此层级结构可以快速锁定位置

有很多的库,可以通过此路径直接找到内容,甚至批量将剩下内容拿到
在这里插入图片描述

2.6 主程序入口(If name==”main”:)

If _name_==”_main_”:

如果执行主方法,当运行的函数名是main的时候,起始2main就是程序被解释的时候默认的方法名。

定义程序执行的入口

这样写使程序安照自己的组织来,在上面写,程序入口,执行过程看
在这里插入图片描述

2.7 引入包或库(from test import t1)

库就是将别人写好的代码,在当前文件中直接调用,调用如下
在这里插入图片描述
在这里插入图片描述

库的内容如上图所示

引入包或者库,就是别人写好的函数,可以在我们的文件中调用

from test import t1

from的文件夹是包,文件夹中有个具体文件,此文件就是具体的模块,import t1模块
模块中是有函数的,上方就是引入自定义模块

2.8 引入其他模块报错(两种解决方式)

若引入其他模块

最常用引入第三方模块
在这里插入图片描述

(1)使用控制台方式(这里下载可能会因为网络的不稳定而下载失败)

在这里插入图片描述

(2)可进入setting中的interpreter解释器中添加包

下面界面在安装时是可以退出的,不用在控制台安装,可能会安装很长时间,这样就能直接进行其他的操作
在这里插入图片描述

2.9 爬虫需要引入的包

以下的包是我们必须用到的

import urllib.request,urllib.error          #指定url,获取网页数据
from bs4  import  BeautifulSoup         #网页解析,获取数据
import re           #正则表达式,进行文字匹配
import xlwt         #进行Excel操作
import sqlite3       #进行SQLite操作
Python3中将urllib2中的功能整合到urllib中了,使用urllib就可以了

相关文章:

四、(1)网络爬虫入门及准备工作(爬虫及数据可视化)

四、(1)网络爬虫入门及准备工作(爬虫及数据可视化) 1,网络爬虫入门1.1 百度指数1.2 天眼查1.3 爬虫原理1.4 搜索引擎原理 2,准备工作2.1 分析爬取页面2.2 爬虫拿到的不仅是网页还是网页的源代码2.3 爬虫就是…...

2024华为OD机试真题-分月饼-(C++/Python)-C卷D卷-200分

2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 中秋节,公司分月饼,m 个员工,买了 n 个月饼,m ≤ n,每个员工至少分 1 个月饼,但可以分多个,单人分到最多月饼的个数是 Max1 ,单人分到第二多月饼个数是 Max2 ,Max1 - Max2 ≤ 3 ,单人分到第 n - 1…...

Git 查看提交历史

Git 查看提交历史 Git 是一个强大的版本控制系统,它允许开发人员跟踪代码的变化,并与其他人协作。了解如何查看提交历史对于理解项目的发展和维护代码库至关重要。本文将详细介绍如何使用 Git 查看提交历史,包括不同的命令和选项&#xff0c…...

力扣双指针算法题目:快乐数

目录 1.题目 2.思路解析 3.代码展示 1.题目 . - 力扣(LeetCode) 2.思路解析 题目意思是将一个正整数上面的每一位拿出来,然后分别求平方,最后将这些数字的平方求和得到一个数字,如此循环,如果在此循环中…...

【Tools】了解人工通用智能 (AGI):未来的智能体

什么是人工通用智能 (AGI)? 人工通用智能(Artificial General Intelligence,AGI)是指一种能够理解、学习和应用知识,具有像人类一样广泛和通用的认知能力的智能系统。与专门处理特定任务的人工智能(AI&…...

华媒舍:8种网站构建推广方法全揭密!

网站构建成为了推广宣传和宣传品牌的关键一环。对于新手,搭建和营销推广网站有可能是一项全新的挑战。下面我们就为大家介绍8种网站搭建和营销推广技巧,帮助你在这些方面取得成功。 1.选择适合自己的网站构建平台选择合适的网站构建平台针对构建一个成功…...

【Scrapy】 深入了解 Scrapy 下载中间件的 process_exception 方法

准我快乐地重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 再去做没流着情泪的伊人 假装再有从前演过的戏份 重饰演某段美丽故事主人 饰演你旧年共寻梦的恋人 你纵是未明白仍夜深一人 穿起你那无言毛衣当跟你接近 🎵 陈慧娴《傻女》 Scrapy 是…...

DevEco Studio无法识别本地模拟器设备的解决方法

目录 场景 解决办法 方式1 方式2 场景 有很多小伙伴遇到过安装了手机模拟器, 但是开发工具设备栏不识别手机设备的问题, 如下图,明明模拟器都安装了,并启动, 但为什么设备栏不显示呢? 解决后的截图,应该是这样(其实跟 android 类似 )...

EN-SLAM:Implicit Event-RGBD Neural SLAM解读

论文路径:https://arxiv.org/pdf/2311.11013.pdf 目录 1 论文背景 2 论文概述 2.1 神经辐射场(NeRF) 2.2 事件相机(Event Camera) 2.3 事件时间聚合优化策略(ETA) 2.4 可微分的CRF渲染技术…...

2407C++,从构生成协议文件

原文 protobuf会根据proto文件生成c对象及其序化/反序化方法,而iguana的struct_pb则是以结构为核心,编译期反射来生成序化/反序化代码. 有人提出能不能按proto文件输出结构呢,这样就可给其它语言用了,很好建议,实现起来也比较简单. protobuf是从proto文件到c对象,而struct_p…...

遗传算法求解TSP

一、基本步骤 遗传算法求解旅行商问题(TSP)的一般步骤如下: 编码: 通常采用整数编码,将城市的访问顺序表示为一个染色体。例如,假设有 5 个城市,编码为[1, 3, 5, 2, 4],表示旅行商的…...

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【明文导入密钥(C/C++)】

明文导入密钥(C/C) 以明文导入ECC密钥为例。具体的场景介绍及支持的算法规格 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 指定密钥别名keyAlias。 密钥别名的最大长度为64字节。 封装密钥属性集和密钥材料。通过[OH_Huks_I…...

视频汇聚/安防监控/GB28181国标EasyCVR视频综合管理平台出现串流的原因排查及解决

安防视频监控系统/视频汇聚EasyCVR视频综合管理平台,采用了开放式的网络结构,能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,视频汇聚EasyCVR平台支持设备…...

TypeError: Cannot read properties of null (reading ‘nextSibling‘)

做项目用的Vue3Vite, 在画静态页面时,点击菜单跳转之后总是出现如下报错,百思不得其解。看了网上很多回答,也没有解决问题,然后试了很多方法,最后竟然发现是template里边没有结构的原因。。。 原来我的index.vue是这样…...

解决 npm intasll 安装报错 Error: EPERM: operation not permitted

Node.js安装及环境配置完成之后 npm install express -g 安装全局的模块报错提示没有权限operation not permitted mkdir 错误编号4048: 其原因是当前用户操作该目录权限不足,当以管理员身份运行cmd,再执行npm install express -g 是不会报权…...

redis实用技能

为什么要使用redis及其使用场景 大部分场景是应对高并发高性能场景才会使用,就是访问量已经超过mysql所能承受的,需要做缓存,帮助mysql分流。或者一些复杂查询,mysql执行很慢没法优化,可以做缓存提速(做缓存)做认证服务的时候需要存储用户的session信息,使用redis数据有…...

AcWing 1260:二叉树输出

【题目来源】https://www.acwing.com/problem/content/1262/【题目描述】 树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点的长度要不小于其子结点的长度。 二叉树也可以这样表示,假设叶结点的长度为 1&…...

刷爆leetcode第十期

题目一 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 首先我们要来判断下它们的根是否相等 根相等的话是否它们的左子树相等 是否…...

Python28-7.5 降维算法之t-分布邻域嵌入t-SNE

t-分布邻域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)是一种用于数据降维和可视化的机器学习算法,尤其适用于高维数据的降维。t-SNE通过将高维数据嵌入到低维空间(通常是二维或三维)中&…...

一个最简单的comsol斜坡稳定性分析例子——详细步骤

一个最简单的comsol斜坡稳定性分析例子——详细步骤 标准模型例子—详细步骤 线弹性模型下的地应力平衡预应力与预应变、土壤塑性和安全系数求解的辅助扫描...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解

文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...