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

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 BeautifulSoupurl = '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 数据源提供备选方案。不过,在使用爬虫时,一定要遵守目标网站的使用条款和隐私政策,避免滥用

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 网络编程问题解答
  • C++教程(五):C++高手养成之代码规范,如何写出规范优雅的程序
  • C# Action和delegate区别及示例代码
  • tb的数数问题(牛客小白月赛)
  • Vue3新组件transition(动画过渡)
  • ubuntu18.04升级到20.04
  • 【JavaScript】LeetCode:41-45
  • Python 低层多线程接口_thread的用法
  • Unity UGUI的核心渲染组件
  • Linux 内存管理机制概述
  • 整合多方大佬博客以及视频 一文读懂 servlet
  • 数值计算 --- 平方根倒数快速算法(中)
  • 邮件安全治理
  • CVE-2024-2389 未经身份验证的命令注入
  • (PySpark)RDD实验实战——取一个数组的中间值
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 3.7、@ResponseBody 和 @RestController
  • 5、React组件事件详解
  • Apache的80端口被占用以及访问时报错403
  • CentOS 7 修改主机名
  • Java IO学习笔记一
  • JavaScript 基础知识 - 入门篇(一)
  • Object.assign方法不能实现深复制
  • spring boot下thymeleaf全局静态变量配置
  • 初探 Vue 生命周期和钩子函数
  • 从PHP迁移至Golang - 基础篇
  • 复杂数据处理
  • 给新手的新浪微博 SDK 集成教程【一】
  • 记一次用 NodeJs 实现模拟登录的思路
  • 前端临床手札——文件上传
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 微信小程序设置上一页数据
  • 学习HTTP相关知识笔记
  • 一些关于Rust在2019年的思考
  • 译有关态射的一切
  • k8s使用glusterfs实现动态持久化存储
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​浅谈 Linux 中的 core dump 分析方法
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #includecmath
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (a /b)*c的值
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (CPU/GPU)粒子继承贴图颜色发射
  • (ibm)Java 语言的 XPath API
  • (超详细)语音信号处理之特征提取
  • (附源码)springboot宠物医疗服务网站 毕业设计688413