首页 > 其他分享 >简单爬虫的实现

简单爬虫的实现

时间:2024-11-18 19:45:04浏览次数:3  
标签:网页 实现 text 爬虫 bs4 html link 简单

简单爬虫的实现

爬虫的简要介绍

爬虫就是在网络上通过伪装为用户从而从网站上下载数据的程序或者行为。
这样的行为就好比你去别人家的时候带走了几个橘子袖中怀橘啦,合理的爬取是可以的(毕竟人家网站做着就是给人用的,但是不要耽误叔叔赚钱.jpg

爬虫的简单实现

运用python的库

在本次教程中我们使用了 request库和beautifulsoup4库
request库:用于向网页中发送请求,并且返回响应内容(html)
beautifulsoup4(以下简称bs4):用于分析返回的内容,将返回内容中所需要的部分提取出来
(如果没有这两个库可以在终端中输入:)

pip install beautifulsoup4
pip install request

下载这两个库

回到python
导入这两个库

import request
from bs4 import BeautifulSoup

尝试向网页发送请求

# 向博客园的网址
urls = f"https://www.cnblogs.com/#p1"

# 定义发送请求的函数
def craw(url):
	# 发送请求并且将返回值接收
    r = requests.get(url)
    # 输出
    print(r.text, len(r.text))

craw(urls)

输出为:

输出

处理得到的数据

可以看到输出了很多看不懂的东西,这些其实才是网页的真实面貌,我们平时看到的网页那样只是因为浏览器通过渲染而已
由于我们看不懂这些,所以我们使用了bs4库来帮助我们提取出其中我们想要的部分(其实也可以用正则,但我不熟

# 定义了处理的函数,输出为各个文章的链接与对应的标题
def parse(html):
	# 运用bs4的函数进行处理
    soup = BeautifulSoup(html, "html.parser")
    # 读取类型为"post-item-title"的
    links = soup.find_all("a", class_="post-item-title")
    return [(link["href"], link.get_text()) for link in links]
r= requests.get(urls)
for link in parse(r.text):
    print(link)

读取类型可以通过右键网页->检查来观察其中的类型

以上就完成了简单的对于网页的爬取,通过对于网页的爬取,我们可以快速的收集到我们想要的信息。但也注意不要给服务器过大的压力,毕竟一个人吃一两个橘子主人家可能无所谓,但全吃了肯定不好。所以在爬取多个网页的时候,我们可以加入time.sleep()函数,减少服务器压力。频繁并且快速的获取容易被认定为是对服务器的攻击,从而被封禁或是被限制。

标签:网页,实现,text,爬虫,bs4,html,link,简单
From: https://blog.csdn.net/qq_62780060/article/details/143864608

相关文章

  • 数据结构——小小二叉树第一幕(树的认知以及顺序结构二叉树(堆)的实现)超详细!!!!
    文章目录前言一、树1.1树的概念与结构1.2数相关术语1.3树的表示1.4树形结构的实际运用场景二、二叉树2.1概念与结构2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树2.3二叉树存储结构2.3.1顺序结构2.3.2链式结构三、实现顺序结构二叉树3.1堆的概念与结构3.......
  • 使用 Nginx Ingress 实现金丝雀发布/灰度发布
    使用NginxIngress实现金丝雀发布/灰度发布说明:使用NginxIngress实现金丝雀发布的集群,需部署NginxIngress作为IngressController,并且对外暴露统一的流量入口。详情请参见在TKE上部署NginxIngress。使用场景使用NginxIngress实现金丝雀发布适用场景主要取决......
  • 基于python+django的国内运动男装小红书文章数据可视化分析系统的设计与实现
    前言基于python+django的国内运动男装小红书文章数据可视化分析系统,为深入了解运动男装市场在小红书平台的表现提供了有效途径。系统通过网络爬虫技术收集小红书上有关国内运动男装的文章数据,包括文章内容、点赞数、收藏数、评论数、发布者信息等。对这些数据进行清......
  • 音乐播放器的设计与实现ssm+论文源码调试讲解
    第2章系统分析2.1系统使用相关开发技术分析2.1.1Jsp技术介绍Jsp技术是一种开发动态网页的web技术,相当于就是servle技术类似一样,主要是结合html和java使用,应用在网页前段技术里,html主要是编写静态内容,而jsp是可以编写所需要的动态技术,两者相结合使用,通过jsp编写的动态......
  • ssm140基于java的奶茶店管理系统的设计与实现+jsp(论文+源码)_kaic
    毕业设计(论文)奶茶店管理系统 学   院                       专   业                       班   级                       学   号                   ......
  • 【微信批量群发】想要一次性给所有好友发送消息?这里有最简单的方法!
    点击关注免费试用【微信批量群发】想要一次性给所有好友发送消息?这里有最简单的方法!有没有遇到过这种情况?每次发个重要通知,想一口气通知所有微信好友,却得一个一个手动发,累得想哭!有时候还可能漏掉某个好友,简直要崩溃。是不是很烦恼?其实,批量发送微信消息超级简单,只需要......
  • springboot毕设个人博客的设计与实现程序+论文
    系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和普及,个人博客作为一种表达自我、分享知识和交流思想的平台,逐渐成为了现代人日常生活中不可或缺的一部分。特别是在当前信息爆炸的时代,人们渴望有一个属于自己的空间,用以记录生活点滴、展示专业技能、分享心......
  • 基于微信小程序的场地预约系统设计与实现(源码+论文+部署讲解等)
    博主介绍:✌全网粉丝60W+,csdn特邀作者、Java领域优质创作者、csdn/掘金/哔哩哔哩/知乎/道客/小红书等平台优质作者,计算机毕设实战导师,目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌技术栈范围:SpringBoot、Vue、SSM、Jsp、HLMT、Nodejs......
  • 基于微信小程序的体育课评分系统设计与实现(源码+论文+部署讲解等)
    博主介绍:✌全网粉丝60W+,csdn特邀作者、Java领域优质创作者、csdn/掘金/哔哩哔哩/知乎/道客/小红书等平台优质作者,计算机毕设实战导师,目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌技术栈范围:SpringBoot、Vue、SSM、Jsp、HLMT、Nodejs......
  • 基于微信小程序的宠物店商城系统设计与实现(源码+论文+部署讲解等)
    博主介绍:✌全网粉丝60W+,csdn特邀作者、Java领域优质创作者、csdn/掘金/哔哩哔哩/知乎/道客/小红书等平台优质作者,计算机毕设实战导师,目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌技术栈范围:SpringBoot、Vue、SSM、Jsp、HLMT、Nodejs......