python爬虫初体验(一)

ops/2024/9/22 22:52:03/

文章目录

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

1. 什么是爬虫

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

2. 为什么选择 Python?

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

3. 爬虫小案例

python_8">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
python">url = 'https://blog.csdn.net/qq_36012563'
  1. 设置请求头
    有时候,网站会检测请求是否来自浏览器。我们可以通过在 requests.get 请求中添加请求头来伪装爬虫为浏览器,所以拿取浏览器的请求头来设置。
    在这里插入图片描述
    user-agent复制出来,设置其requests请求头
python">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. 解析网页
python">strhtml = requests.get(url, headers=headers) // 发起GET请求,获取网页数据soup = BeautifulSoup(strhtml.text, 'html.parser') // 创建BeautifulSoup对象
  1. 查找元素
    在这里插入图片描述
python"># 查找具有特定类名的<div>标签
soup.find_all('div', class_='user-profile-statistics-num')
// or
soup.select('div.user-profile-statistics-num')
  1. 将数据导出文件

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

python">with open('output.txt', 'w') as file:for item in info:file.write(item.get_text() + '\n')
3.4 完整代码
python">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 数据源提供备选方案。不过,在使用爬虫时,一定要遵守目标网站的使用条款和隐私政策,避免滥用


http://www.ppmy.cn/ops/114450.html

相关文章

Unity自我实现响应式属性

其实只是写着玩,响应式编程建议使用UniRx插件(一套成熟的响应式编程解决方案),我写的主要是借鉴一下这个思想,实现的也不够优雅,不过逻辑也算严密可以正常使用.你可以查看我写的理解响应式属性的思想. 借鉴UniRx的ReactiveProperty类,且UniRx不仅有响应式属性. using System; …

Matlab simulink建模与仿真 第十四章(信号输出库)

参考视频&#xff1a;simulink1.1simulink简介_哔哩哔哩_bilibili 一、信号输出库中的模块概览 注&#xff1a;部分模块在第二章中有介绍&#xff0c;本章不再赘述。 二、文件及工作空间模块 1、To File文件模块 &#xff08;1&#xff09;在MATLAB中可用MAT文件对工作区的…

利用Metasploit进行信息收集与扫描

Metasploit之信息收集和扫描 在本文中&#xff0c;我们将学习以下内容 使用Metasploit被动收集信息 使用Metasploit主动收集信息 使用Nmap进行端口扫描 使用db_nmap方式进行端口扫描 使用ARP进行主机发现 UDP服务探测 SMB扫描和枚举 SSH版本扫描 FTP扫描 SMTP枚举 …

单例模式(饿汉式-懒汉式)

我给面试官讲解了单例模式后&#xff0c;他对我竖起了大拇指&#xff01;https://blog.csdn.net/weixin_41949328/article/details/107296517?ops_request_misc%257B%2522request%255Fid%2522%253A%2522FAEE9ABD-432D-416C-98C6-9DD939138DEB%2522%252C%2522scm%2522%253A%252…

MySQL 事件调度器用法解析

MySQL 事件调度器用法解析 在日常的数据库运维与开发实践中&#xff0c;自动化执行任务是一项至关重要的需求&#xff0c;它极大地提升了数据库管理的效率和准确性。这些任务可能包括清理不再需要的历史数据以释放存储空间、更新汇总或统计信息以保持数据的新鲜度&#xff0c;…

设计模式中工厂模式的C语言实现

在C语言中实现工厂模式&#xff08;Factory Pattern&#xff09;通常需要模拟面向对象的编程方式。工厂模式的核心思想是通过工厂函数来创建不同类型的对象&#xff0c;隐藏对象创建的细节。下面是一个简单的工厂模式在C语言中的实现。 工厂模式示例&#xff1a;几何形状工厂 …

数据库提权【笔记总结】

文章目录 UDF提权以有webshell只有数据库权限条件复现msf工具sql语句提权 MOF提权前言条件复现msf工具php脚本提权 sqlserver提权前言条件xp_cmdshell提权复现 沙盒提权介绍复现 Oracle提权靶场搭建执行任意命令复现 通过注入存储过程提权&#xff08;低权限提升至DBA&#xff…

ELK 企业级日志分析系统

1、ELK概述 ELK平台是一套完整的日志集中处理解决方案&#xff0c;将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用&#xff0c; 完成更强大的用户对日志的查询、排序、统计需求。 ELK 是 Elasticsearch、Logstash、Kibana 的缩写&#xff0c;这三个工具组合在一…