python爬虫初体验(一)

embedded/2024/9/22 12:54:01/

文章目录

      • 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/embedded/115038.html

相关文章

分布式光伏发电系统如何确保电能质量达到并网要求?

随着全球对可再生能源的日益重视&#xff0c;光伏发电已成为推动能源转型的重要力量。特别是在应对气候变化、提升能源安全方面&#xff0c;光伏发电的潜力被广泛认同。然而&#xff0c;光伏电站的运营与维护面临许多挑战&#xff0c;如发电效率监测、故障诊断和数据管理等。因…

洗衣机制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

洗衣机制造业作为传统制造业的重要组成部分&#xff0c;通过引入5G智能工厂物联数字孪生平台&#xff0c;加速推进自身的数字化转型进程。这一创新模式不仅极大地提升了生产效率&#xff0c;还深刻改变了产品的设计、生产、管理及运维流程&#xff0c;为行业带来了前所未有的竞…

iPhone 16系列:摄影艺术的全新演绎,探索影像新境界

在科技的浪潮中&#xff0c;智能手机摄影功能的进化从未停歇。 苹果公司即将推出的iPhone 16系列&#xff0c;以其卓越的相机升级和创新特性&#xff0c;再次站在了手机摄影的前沿。 从硬件到软件&#xff0c;从拍照体验到图像处理&#xff0c;iPhone 16系列都展现了其在移动…

Apache Airflow如何使用

Apache Airflow 是一个用于编排和调度任务的开源平台。它适用于创建、调度和监控数据工作流。以下是使用 Airflow 的基本步骤&#xff1a; 1. 安装 Apache Airflow 你可以通过以下命令来安装 Airflow&#xff1a; pip install apache-airflow建议使用虚拟环境来管理 Airflow…

【计网】从零开始使用TCP进行socket编程 ---服务端业务模拟Xshell

最糟糕的情况&#xff0c; 不是你出了错&#xff0c; 而是你没有面对出错的勇气。 从零开始使用TCP进行socket编程 1 通信过程的多版本实现1.1 多进程版本1.2 多线程版本 2 服务端业务模拟Xshell2.1 整体框架设计2.2 Command类设计 1 通信过程的多版本实现 在前一篇的文章…

SSL/TSL 总结

参考&#xff1a;https://blog.csdn.net/qq153471503/article/details/109524764 &#xff08;一&#xff09;生成CA证书 1、创建CA证书私钥 openssl genrsa -aes256 -out ca.key 2048 &#xff08;密码&#xff1a;ca1234567890&#xff09; 2、请求证书 openssl req -new -s…

linux cat命令的实现

cat 是 Linux 和其他 Unix-like 系统中的一个常用命令&#xff0c;它的名称来源于 "concatenate"&#xff08;连接&#xff09;的缩写。cat 命令主要用于查看、创建和拼接文件。它读取一个或多个文件的内容&#xff0c;并将它们显示在标准输出&#xff08;通常是终端…

centos7 添加中文字体

一、打开C:\Windows\Fonts 复制 复制出来再拷贝到linux服务器目录&#xff1a;/usr/share/fonts/jtwin #执行 #mkdir /usr/share/fonts/jtwin chmod -R 755 /usr/share/fonts/jtwin yum -y install ttmkfdir ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir 编辑&…