四、(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就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/782262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第213题打家劫舍II

题目: 题解: func _rob(nums []int) int {first, second : nums[0], max(nums[0], nums[1])for _, v : range nums[2:] {first, second second, max(firstv, second)}return second }func rob(nums []int) int {n : len(nums)if n 1 {return nums[0]}…

7.pwn 工具安装和使用

关闭保护的方法 pie: -no-pie Canary:-fno-stack-protector aslr:查看:cat /proc/sys/kernel/randomize_va_space 2表示打开 关闭:echo 0>/proc/sys/kernel/randomize_va_space NX:-z execstack gdb使用以及插件安装 是GNU软件系统中的标准调试工具,此外GD…

【计组OS】I/O方式笔记总结

苏泽 “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家 目录 IO方式:程序查询方式 工作原理 程序查询方式的详细流程: 1. 初始化阶段 2. 发送I/O命令 3. 循环检查状态 4. 数据传输 5. 继续查询 6…

reactor和proactor模型

Reactor模型是非阻塞的同步IO模型。在主线程中也就是IO处理单元中,只负责监听文件描述符上是否有事件发生,有的话就立即将事件通知工作线程,将socket可读可写事件放入请求队列,交给工作线程处理。 总而言之就是主线程监听有事件发…

期末考试结束,老师该如何私发成绩?

随着期末考试的落幕,校园里又恢复了往日的宁静。然而,对于老师们来说,这并不意味着工作的结束,相反,一系列繁琐的任务才刚刚开始。 成绩单的发放,就是其中一项让人头疼的工作。家长们焦急地等待着孩子的考试…

可视化作品集(08):能源电力领域

能源电力领域的可视化大屏,有着巨大的用武之地,不要小看它。 监控能源生产和消耗情况: 通过可视化大屏,可以实时监控能源生产和消耗情况,包括发电量、能源供应情况、能源消耗情况等,帮助管理者及时了解能…

14-39 剑和诗人13 - 顶级大模型测试分析和建议

​​​​​ 随着对高级语言功能的需求不断飙升,市场上涌现出大量语言模型,每种模型都拥有独特的优势和功能。然而,驾驭这个错综复杂的生态系统可能是一项艰巨的任务,开发人员和研究人员经常面临选择最适合其特定需求的模型的挑战。…

React中的useMemo和memo

引言 React是一个声明式的JavaScript库,用于构建用户界面。在开发过程中,性能优化是一个重要的方面。useMemo和memo是React提供的工具,用于帮助开发者避免不必要的渲染和计算,从而提升应用性能。 问题背景 在React应用中&#…

Golang | Leetcode Golang题解之第214题最短回文串

题目&#xff1a; 题解&#xff1a; func shortestPalindrome(s string) string {n : len(s)fail : make([]int, n)for i : 0; i < n; i {fail[i] -1}for i : 1; i < n; i {j : fail[i - 1]for j ! -1 && s[j 1] ! s[i] {j fail[j]}if s[j 1] s[i] {fail[i…

【密码学】密码学中的四种攻击方式和两种攻击手段

在密码学中&#xff0c;攻击方式通常指的是密码分析者试图破解加密信息或绕过安全机制的各种策略。根据密码分析者对明文、密文以及加密算法的知识程度&#xff0c;攻击可以分为以下四种基本类型&#xff1a; 一、四种攻击的定义 &#xff08;1&#xff09;唯密文攻击(COA, C…

MySQL学习(7):4种常用函数

1.字符串函数 mysql中内置了很多字符串函数&#xff0c;常用的几种如下&#xff1a; concat(s1,s2,s3...)字符串拼接&#xff0c;将s1,s2,s3...拼接成一个字符串 lower(s1) 将字符串s1全部转为小写upper(s1)将字符串s1全部转为大写lpad(s1,5,*) 如果字符串s1不足5位&#xff…

对BSV区块链的曼达拉网络通俗易懂的解释

​​发表时间&#xff1a;2023年6月15日 BSV区块链正在引入“曼达拉”升级&#xff0c;使BSV区块链网络的拓扑结构能够适配Teranode&#xff0c;适配这个可以大幅扩容的节点软件。BSV区块链上曼达拉网络的概念并不会改变整个系统的核心规则&#xff1b;相反&#xff0c;它能够引…

vue3使用方式汇总

1、引入iconfont阿里图库图标&#xff1a; 1.1 进入阿里图标网站&#xff1a; iconfont阿里&#xff1a;https://www.iconfont.cn/ 1.2 添加图标&#xff1a; 1.3 下载代码&#xff1a; 1.4 在vue3中配置代码&#xff1a; 将其代码复制到src/assets/fonts/目录下&#xff1…

Python打开Excel文档并读取数据

Python 版本 目前 Python 3 版本为主流版本&#xff0c;这里测试的版本是&#xff1a;Python 3.10.5。 常用库说明 Python 操作 Excel 的常用库有&#xff1a;xlrd、xlwt、xlutils、openpyxl、pandas。这里主要说明下 Excel 文档 .xls 格式和 .xlsx 格式的文档打开和读取。 …

python爬虫入门(三)之HTML网页结构

一、什么是HTML 1、网页的三大技术要素&#xff1a; HTML定义网页的结构和信息&#xff08;骨架血肉&#xff09;CSS定义网页的样式&#xff08;衣服&#xff09;JavaScript定义用户和网页的交互逻辑&#xff08;动作&#xff09; 2、一个最简单的HTML&#xff1a;用<>…

【TB作品】51单片机 Proteus仿真 超声波读取+LCD1602显示仿真12MHZ

实验报告&#xff1a;51单片机 Proteus仿真 超声波读取LCD1602显示仿真 一、实验背景 本实验旨在使用51单片机&#xff08;AT89C51&#xff09;结合超声波传感器HC-SR04和LCD1602液晶显示屏&#xff0c;通过Proteus仿真平台实现超声波测距功能&#xff0c;并将测得的距离显示…

基于Python API的机械臂UDP上报设置及读取

睿尔曼机械臂提供了1个可持续读取机械臂状态的接口&#xff0c;UDP通信状态反馈接口。 该接口提供了json协议、API的读取&#xff0c;设置通信开启之后无需再进行设置即可以固定频率读取。 Python程序源码可从以下网盘地址获取&#xff08;地址永久有效&#xff09;&#xff1…

排序(2)

我们在排序&#xff08;1&#xff09;中说到选择排序的代码&#xff1a; void SelectSort(int* a,int n) {int begin0,endn-1;int minibegin,maxbegin;for(int ibegin1;i<end;i){if(a[i]>a[max]){maxii;}if(a[i]<a[mini]){minii;}begin;--end;}Swap(&a[beign],&a…

【NTN 卫星通信】Starlink基于终端用户的测量以及测试概述

1 概述 收集了一些starlink的资料&#xff0c;是基于终端侧部署在野外的一些测试以及测量结果。 2 低地球轨道卫星网络概述 低地球轨道卫星网络(lsn)被认为是即将到来的6G中真正实现全球覆盖的关键基础设施。本文介绍了我们对Starlink端到端网络特征的初步测量结果和观测结果&…

澳大利亚媒体发稿:怎样用图表提高易读性?-华媒舍

媒体发稿的可读性变得尤为重要。读者们不会再有时间与耐心去阅读文章繁琐的文本&#xff0c;他们更喜欢简洁明了的信息展现形式&#xff0c;在其中图表是一种极为高效的专用工具。下面我们就详细介绍怎么使用图表提高澳大利亚新闻媒体发稿的可读性&#xff0c;以适应读者的需要…