python爬虫初体验(一)

文章目录

      • 1. 什么是爬虫?
      • 2. 为什么选择 Python?
      • 3. 爬虫小案例
        • 3.1 安装python
        • 3.2 安装依赖
        • 3.3 requests请求设置
        • 3.4 完整代码
      • 4. 总结

1. 什么是爬虫?

爬虫(Web Scraping)是一种从网站自动提取数据的技术。简单来说,它就像是一个自动化的“浏览器”,能够按照设定的规则,访问网页并提取其中的关键信息。对于我们前端开发者来说,爬虫可以帮助我们抓取一些数据进行可视化或前端展示,非常实用。

2. 为什么选择 Python?

Python 作为一种高效、简洁的编程语言,尤其在数据处理和爬虫方面拥有大量强大的第三方库。使用 Python 编写爬虫非常方便,因为有现成的工具让我们不需要从零开始写所有功能,比如 requestsBeautifulSoup 等库。

3. 爬虫小案例

3.1 安装python
brew install python

运行完成,使用python --version检验安装是否成功。我这里安装的是python2

3.2 安装依赖

首先,确保你已经安装了 Pythonpip,然后通过以下命令安装我们需要的库:

pip install requests
pip install beautifulsoup4
  • requests 是一个非常流行的 Python 第三方库,用于简化 HTTP 请求。它允许你发送 HTTP/1.1 请求极其简单,而无需底层的socket库或urllib库。requests 库使得发起请求、处理响应变得非常容易,并且支持多种类型的HTTP请求(GET, POST, PUT, DELETE等)。

  • BeautifulSoup4(通常简称 BeautifulSoup)是一个用于解析HTMLXML文档的Python库。它可以帮助开发者从网页中提取所需的数据,常用于Web爬虫项目、数据挖掘以及其他需要解析HTMLXML文档的场景。

3.3 requests请求设置

比如爬我在csdn的主页信息,将访问量,原创,排名,粉丝,铁粉这些数据获取出来。
在这里插入图片描述

  1. 设置访问的URL
url = 'https://blog.csdn.net/qq_36012563'
  1. 设置请求头
    有时候,网站会检测请求是否来自浏览器。我们可以通过在 requests.get 请求中添加请求头来伪装爬虫为浏览器,所以拿取浏览器的请求头来设置。
    在这里插入图片描述
    user-agent复制出来,设置其requests请求头
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'}
  1. 解析网页
strhtml = requests.get(url, headers=headers) // 发起GET请求,获取网页数据

soup = BeautifulSoup(strhtml.text, 'html.parser') // 创建BeautifulSoup对象

  1. 查找元素
    在这里插入图片描述
# 查找具有特定类名的<div>标签
soup.find_all('div', class_='user-profile-statistics-num')
// or
soup.select('div.user-profile-statistics-num')
  1. 将数据导出文件

在写入文本文件时,确保每行数据后面加上换行符\n,以便每行数据独立。

with open('output.txt', 'w') as file:
    for item in info:
        file.write(item.get_text() + '\n')
3.4 完整代码
import requests
from bs4 import BeautifulSoup

url = 'https://blog.csdn.net/qq_36012563'

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'}
strhtml = requests.get(url, headers=headers)

soup = BeautifulSoup(strhtml.text, 'html.parser')

info = soup.select('div.user-profile-statistics-num')

with open('output.txt', 'w') as file:
    for item in info:
        file.write(item.get_text() + '\n')

python2 index.py运行该文件,获取到网页数据
在这里插入图片描述

4. 总结

Python 爬虫是一个非常强大的工具,能帮助我们自动化地从网页中提取数据。作为前端开发者,掌握一点爬虫技术,不仅能帮助我们快速获取前端展示所需的数据,还能为项目中的 API 数据源提供备选方案。不过,在使用爬虫时,一定要遵守目标网站的使用条款和隐私政策,避免滥用

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

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

相关文章

c++调用python函数进行传参计算和返回

目录 前言&#xff1a;配置环境&#xff1a;基础夯实&#xff1a;1. 初始化Python解释器2. 导入Python模块3. 获取函数对象4. 调用Python函数5. 处理返回值6. 错误处理7. 资源管理8. 编译和链接9. 线程安全性10. 进一步学习 效果展示&#xff1a;实现功能&#xff1a;操作步骤&…

CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件

场景 CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载&#xff1a; CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载-CSDN博客 上面介绍了mosquitto的离线安装。 如果业务场景中需要订阅某mqtt主题的消息并将收到消息的时间以…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者&#xff0c;对我们Android平台轻量级RTSP服务模块有些陌生&#xff0c;不知道这个模块具体适用于怎样的场景&#xff0c;有什么优缺点&#xff0c;实际上&#xff0c;我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…

Activiti7《第九式:破气式》——流畅驱动工作流进程。面试题大全

冲冲冲&#xff01;开干 这篇文章将分为九个篇章&#xff0c;带你逐步掌握工作流的核心知识。“破气式”&#xff0c;代表着工作流中的 无形之力&#xff0c;它是贯穿整个流程的 关键驱动 不知不觉已经到了独孤九剑最后一式了&#xff0c;我相信到这里之后各位都已经出神入化…

windows桌面管理软件推荐:一键整理桌面!美化电脑桌面小助手!

windows桌面管理软件推荐来咯&#xff01;在繁忙的工作和生活中&#xff0c;一个整洁、有序的电脑桌面不仅能提升工作效率&#xff0c;还能带来愉悦的视觉体验。然而&#xff0c;随着文件的增多&#xff0c;桌面往往变得杂乱无章。幸运的是&#xff0c;市面上有许多优秀的Windo…

构建高可用和高防御力的云服务架构第五部分:PolarDB(5/5)

引言 云计算与数据库服务 云计算作为一种革命性的技术&#xff0c;已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源&#xff0c;使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中&#xff0c;数据库服务扮演着核心角色。数据库服务不仅负…

​地质图制图规范大全资料分享

我们在《2024年最新测绘地理信息规范在线查看下载》一文整理460个测绘地理信息相关规范的在线查看链接。 现在我们又整理了地质图制图规范大全分享给大家&#xff0c;你可以在文末查看该文档的领取方法。 地质图制图规范大全 这些地质图制图规范来自地质科学数据出版系统&am…

Rustrover2024.2 正式发布:个人非商用免费,泰裤辣

如果这个世界本身 已经足够荒唐 那究竟什么才能算是疯狂 爱情就是这样 一旦错过了 就会有另一个人代替 我们知道 jetbrains 在今年的早些时候正式为 rust 语言发布了专用的 IDE &#xff0c;也就是 rustrover。如今 rustrover 也正式跻身为 jetbrains IDE 系列的一员猛将。…

network request to https://registry.npmjs.org/xxx failed, reason: connect ETIM

目录&#xff1a; 1、问题描述2、解决方案3、npm镜像仓库替换 1、问题描述 npm install 时&#xff0c;报错&#xff1a;npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU npm ERR! code ETIMEDOUT npm ERR! errno…

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件 主要功能介绍 支持 IEEE Std C37.111-1991/1999/2013 规范。读取 ASCII 或二进制 COMTRADE 文件。查看来自 COMTRADE 配置文件的模拟和数字通道列表。将图表导出为 SVG、BMP、JPEG 和 PNG 图形格式。将显示的观察结果以 C…

携手长江存储,构建高性能分布式存储

近年来&#xff0c;《金融科技&#xff08;FinTech&#xff09;发展规划&#xff08;2022-2025 年&#xff09;》《关于银行业保险业数字化转型的指导意见》《金融标准化“十四五”发展规划》等金融监管政策陆续出台&#xff0c;金融机构对于数据基础设施的升级部署&#xff0c…

工业建模设计软件概览与SOLIDWORKS深度解析

在当今快速发展的工业领域&#xff0c;高效的建模设计软件是工程师和设计师不可或缺的工具。这些软件不仅提高了设计的精确度&#xff0c;还大幅缩短了产品从概念到市场的周期。本文将为您介绍当前市场上主流的工业建模设计软件&#xff0c;并重点介绍SOLIDWORKS的优势和应用。…

10.软件工程知识详解上

软件工程概述 软件开发生命周期 软件定义时期&#xff1a;包括可行性研究和详细需求分析过程&#xff0c;任务是确定软件开发工程必须完成的总目标&#xff0c;具体可分成问题定义、可行性研究、需求分析等。软件开发时期&#xff1a;就是软件的设计与实现&#xff0c;可分成…

汽车总线之----FlexRay总线

Introduction 随着汽车智能化发展&#xff0c;车辆开发的ECU数量不断增加&#xff0c;人们对汽车系统的各个性能方面提出了更高的需求&#xff0c;比如更多的数据交互&#xff0c;更高的传输带宽等。现如今人们广泛接受电子功能来提高驾驶安全性&#xff0c;像ABS防抱死系统&a…

git push出错Push cannot contain secrets

报错原因&#xff1a; 因为你的代码里面包含了github token明文信息&#xff0c;github担心你的token会泄漏&#xff0c;所以就不允许你推送这些内容。 解决办法&#xff1a; 需要先把代码里面的github token信息删除掉&#xff0c;并且删掉之前的历史提交&#xff0c;只要包…

关于ShuffleNetV1中的channel shuffle操作【代码分析】

1. 官方给出的代码 旷视科技在自己的开源GitHub上给出的channel shuffle相关代码如下图所示&#xff1a; 分析上图中的代码&#xff0c;旷视科技将channel shuffle这个操作视为一个函数&#xff0c;函数传入的参数是输入张量x&#xff0c;x的shape为(batchsize, num_ch…

Ceph 基本架构(一)

Ceph架构图 Ceph整体组成 Ceph 是一个开源的分布式存储系统&#xff0c;设计用于提供优秀的性能、可靠性和可扩展性。Ceph 的架构主要由几个核心组件构成&#xff0c;每个组件都有特定的功能&#xff0c;共同协作以实现高可用性和数据的一致性。 以下是 Ceph 的整体架构及其…

大数据处理从零开始————3.Hadoop伪分布式和分布式搭建

1.伪分布式搭建&#xff08;不会用&#xff0c;了解就好不需要搭建&#xff09; 这里接上一节。 1.1 伪分布式集群概述 伪分布式集群就是只有⼀个服务器节点的分布式集群。在这种模式中&#xff0c;我们也是只需要⼀台机器。 但与本地模式不同&#xff0c;伪分布式采⽤了分布式…

新手操作指引:快速上手腾讯混元大模型

引言 腾讯混元大模型是一款功能强大的AI工具&#xff0c;适用于文本生成、图像创作和视频生成等多种应用场景。对于新手用户&#xff0c;快速上手并充分利用这一工具可能会有些挑战。本文将提供详细的新手操作指引&#xff0c;帮助您轻松开始使用腾讯混元大模型。 步骤一&…

计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…