我的第一个python爬虫

2023-11-08


前言

今天想跟大家分享下我完成第一个python爬虫项目的过程,同时记录自己的“第一次”。我的第一个爬虫项目是在B站上学习的,讲的特别细。课程链接发在这啦,想走进Python的小伙伴可以点进去开始学习!

Python爬虫+数据可视化

其实,在自己没有了解过爬虫的时候,对于爬虫是没什么感觉的,但是在听课的过程中,慢慢的了解爬虫后,愈发的对其感到了兴趣。
感觉爬虫是一个好奇妙的东西,对于没有了解过爬虫的小伙伴,看完我这次分享后,希望对你有所感触哦。

当然,话不多说,大家一起跟我走进python爬虫的奇妙世界吧

一、python爬虫是什么?

如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,

沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;

从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;

原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。

二、豆瓣电影TOP250排行榜信息爬取

1.发送请求

本次爬虫我们是需要得到豆瓣电影前250的电影排行信息
在爬取豆瓣网页时,我们第一步做的便是向网页发起请求

当然,发起请求会使用到request库,我们可以在设置中进行库的下载
具体流程如下:


图片中,点击设置找到python解释器,点击添加,下载所需要的库

首先给大家介绍下我们需要用到的一些库,可以提前进行下载

本次爬虫所需要的库主要是request:请求网页 ,BeautifulSoup,urllib:获取数据,re :正则提取数据 , xlwt,sqlite3: 保存数据

在这里插入图片描述
随后,便是对网页发送请求,并且获取网页数据啦~

在这里插入图片描述
代码先上,嘿嘿
我们通过request对网页进行请求,获取其数据,不过我们在访问网页时要对请求头做一个处理。我们可以在豆瓣网页上按F12键,找到源码中的请求头复制,放入代码中。模拟豆瓣网页对浏览器发起请求,也叫作用户代理。

当然我们在获取网页信息时可能也会存在一些乱码或者异常等,不过我们本次爬虫不涉及太复杂的内容啦。

通过上述操作我们便获取了网页的所有内容,接下来我们需要的便是获取我们想要的内容啦

2.获取数据

获取数据我们将会用到re库,本次爬虫项目使用的是正则提取,当然并不要求爬虫一定要用正则提取,用其他的也是可以的,在此就不进行过多讲述。

在这里插入图片描述
本次我们要爬取的内容是电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,相关信息。

正则表达式是一个难学的家伙,鉴于自己也没学明白,就不多跟大家介绍啦,免得误导大家,哈哈哈。所以直接看代码吧。

3.解析数据

在这里插入图片描述
这里就到了解析数据了,我截取了部分代码进行演示。一样就是通过正则表达式进行提取我们需要的数据。

补充说明:
在这里插入图片描述
当然在我们获取数据和解析数据函数中会有两个循环,第一个循环是对我们获取网页内容的循环,本来URL访问的只是一个网页,因为我们需要的是250的影片的内容,所以需要访问10次网页。
第二个循环是对获取数据的分析,同样的道理,我们对一个电影进行了解析,运用循环对所有电影内容进行提取。

4.保存数据

得到了我们需要的数据后,肯定是需要进行保存处理的。本次爬取讲到了两种储存方法
(1).储存在Excel表中
在这里插入图片描述
储存在Excel表中是相对简单的一种方式,我们首先便是需要调用xlwt库
然后创造对象,创造表,在写入数据,最后保存就可以了。在这里插入图片描述
最后的到的结果就是一个Excel表,具体内容如下图:
在这里插入图片描述

这就是第一种我们将数据储存在Excel表中的方式,只需要利用上述的几个流程即可

(2).储存在数据库中

在这里插入图片描述
储存在数据库里的话要用到sqlite3 上述代码是具体的方法
不过本次就不过多介绍此方法了,相对复杂
需要先连接数据库,用pycharm作为工具的小伙伴需要用专业版才能进行数据库保存。社区版是不支持的。
其次我们建表以及插是运用的sql语句,需要对数据库先进行学习哦
所以我们在这就不过多讲啦

总结

这是自己学习的第一个爬虫,当然是最简单的爬虫。
但也是自己写的一个个100多行代码的程序
可能是觉得来之不易吧,所以想要把它记录一下
同样,我还会继续学下去,学习更多的爬虫项目
也会在接下来继续分享我的学习之旅
希望看到这篇文章的小可爱们能够动动你们的小手,留下保贵的赞哦!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我的第一个python爬虫 的相关文章

随机推荐

  • 实现一个可左右滑动操作的vue3组件

    为了实现左右滑动能够切换页面 便有了做成组件的想法 代码实现 监听touchstart 记录开始位置 监听touchmove 记录移动的位置 计算移动的方向 再把值设置给translateX 计算结果的值要能够跟随手指移动 加入锁定方向 是
  • Oracle 自定义分隔函数

    今天上班时 产品经理反馈客户有一批存量数据中 biz type 存在多个业务键号使用逗号分隔 现在需要将该字段调整为基于逗号分隔的多行记录 Oracle 自定义分隔函数 create or replace function split st
  • 0007.整数反转(简单)

    代码 java版 public class Solution 反转 public static int reverse int x int aa int Math pow 2 31 1 2147483646 int bb int Math
  • Srping:bean循环依赖问题

    Spring 为了解决单例的循环依赖问题 使用了 三级缓存 递归调用时发现 Bean 还在创建中即为循环依赖 单例模式的 Bean 保存在如下的数据结构中 一级缓存 用于存放完全初始化好的 bean private final Map
  • 【Python爬虫与数据分析】爬虫代理IP与访问控制

    目录 一 代理IP 二 正则表达式re 三 通过代理IP对网站循环访问 四 通过selenium工具实现访问控制 注 文末有干货 不过不认真看完你可学不懂 偷笑 一 代理IP 在爬虫对服务器做资源请求时 通常情况是不需要用到代理IP的 但是
  • DBC文件的编辑方法

    1 启动candb 程序 File gt createdatabase选择模板 然后保存dbc文件 2 添加网络节点 在OverallView界面 右击Network nodes选择New弹出如下界面 设置节点名称 把前面编辑好的Messa
  • 一键提升多媒体内容质量:漫谈图像超分辨率技术

    看的一篇图像超分辨推文 在这里记录一下 方便后续查阅 作为将模糊的图像变清晰的神奇技术 图像超分辨率技术在游戏 电影 相机 医疗影像等多个领域都有广泛的应用 在这篇文章中 微软亚洲研究院的研究员们为你总结了图像超分辨率问题中的主流方法 现存
  • html原生js进度条圆形,原生JS环形进度条

    var bg document getElementById canvas1 var ctx bg getContext 2d ctx beginPath ctx lineWidth 10 ctx strokeStyle e5e5e5 va
  • jquery checkbox 设置选中和不选中

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 设置选中 hasApply prop checked true 设置不选中 hasApply prop checked false 获取选中的状态 var status h
  • Active Directory的基本概念

    前言 本文是面对准备加入Active Directory编程的初学者的一份文章 主要是讲解Active Directory 活动目录 的一些概念和相关知识 这篇文章本来是不想写下来的 因为概念性内容的编写需要查阅很多的资料 也怕自己讲的不够
  • 计算机无法识别华为m3,华为M3平板怎么开启学生模式过滤不良网站?

    对于孩子使用电子设备这件事儿 家长们总会陷入到一种矛盾中 即 支持用吧 但是现如今信息复杂 孩子没有自控力 不能每天都盯着 监督不慎误入歧途怎么办 支持不用吧 但是上面又有很多资料资源 值得孩子们去学习 视频教学 益智科普类的软件层出不穷
  • layout_weight 标签用于在线性布局中指定父控件的剩余空间比例的分配

    layout weight 用于在线性布局中指定父控件的剩余空间比例的分配
  • 数学建模竞赛论文中的Word使用

    1 使用样式 除了Word原先所提供的标题 正文等样式外 还可以自定义样式 如果你发现自己是用选中文字然后用格式栏来设定格式的 一定要注意 想想其他地方是否需要相同的格式 如果是的话 最好就定义一个样式 对于相同排版表现的内容一定要坚持使用
  • 如何配置Vue脚手架(Vue CLI)

    第一步 用cmd打开命令提示符 输入命令行 npm config set registry https registry npm taobao org 第二步 打开cmd 输入命令行 npm install g vue cli 中途可能会出
  • MATLAB/simulink时域分析之性能指标(0基础)

    目录 6 时域分析 6 1 性能指标 6 1 1 典型输入信号 6 1 2 一阶系统时域响应 6 1 3 二阶系统时域响应 6 1 4 二阶系统的改善 6 时域分析 由于多数控制系统是以时间作为独立变量 所以人们往往关心输出对时间的响应 对
  • 刷脸支付创新高效促进消费者重新光临

    刷脸支付成为了移动金融产业新的焦点 这离不开代理的卖力推广 刷脸支付代理成为大多创业者的选择 从今往后 脸就是钱包走人寻常百姓家 再也不用担心发生突发情况 尴尬放回商品的局面 现在可以在便利店 部分夫妻店看见这样的画面 收银台不见了 换成了
  • python源码保护之cython

    转载请注明出处 准备 项目需要 是在windows7上操作 python3 7 针对python项目 而非单个的python程序 思路 先将py代码转成c代码 然后编译成pyd window上是pyd linux上是so 文件 安装cyth
  • base64转图片

    base64转图片 param base64Code base64码 public static void convertBase64ToImage String base64Code BufferedImage image byte im
  • Qt绘图与信号事件

    Qt应用开发的基本模式 面向对象 继承QDailog gkdialog h ifndef GK DIALOG H define GK DIALOG H include
  • 我的第一个python爬虫

    文章目录 前言 一 python爬虫是什么 二 豆瓣电影TOP250排行榜信息爬取 1 发送请求 2 获取数据 3 解析数据 4 保存数据 总结 前言 今天想跟大家分享下我完成第一个python爬虫项目的过程 同时记录自己的 第一次 我的第