Web爬虫

📑前言

本文主要是【Web爬虫】——简单使用的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • Web爬虫
    • 什么是 Web 爬虫?
    • Web 爬虫是否合法?
    • 可以被爬取的网页类型
    • Python爬虫入门
      • 基础用法
      • 上机操作
      • 友情推荐
    • 📑文章末尾

Web爬虫

什么是 Web 爬虫?

  • Web 爬虫是从网站中提取数据的过程。数据可以是 HTML、XML 或 JSON 等各种格式。Web 爬虫的应用包括研究、数据分析和自动化等方面。在 Python 中,使用第三方库如 BeautifulSoup 和 Requests 进行 Web 爬虫。

Web 爬虫是否合法?

  • Web 爬虫的合法性取决于其目的和方法的使用。一般来说,只要不违反网站的服务条款或版权法,Web 爬虫就是合法的。但是,如果 Web 爬虫涉及访问私人数据或侵犯某人的知识产权,那么它就是非法的。
  • Web 爬虫需要遵守道德规范。一些网站可能不希望其数据被爬取,重视尊重他们的意愿是非常重要的。此外,Web 爬虫可能会对网站的资源造成压力,因此使用 Web 爬虫时要注意责任。

可以被爬取的网页类型

一般来说,可以被爬取的网站类型可以分为两类:

  • 静态网站,即网站的内容不会随时间变化而变化,如博客、新闻等网站。

  • 动态网站,即网站的内容会随时间变化而变化,如在线商城、社交网站等网站。

在爬取不同类型的网站时,需要使用不同的爬虫工具和技术,比如对于静态网站,可以使用 requests 、urllib 等工具进行爬取;对于动态网站,一般需要使用 Selenium 等工具模拟浏览器行为进行爬取。

Python爬虫入门

基础用法

  • 了解 HTML,CSS 和 JavaScript

  • 安装第三方库(Requests 和 BeautifulSoup )

在进行网页内容解析时,需要了解 HTML、CSS 和 JavaScript 等前端技术的基础知识。HTML 是网页内容的结构化表示,CSS 用于控制网页的外观和样式,JavaScript 用于控制网页的交互行为。了解这些知识可以帮助我们更好地理解网页的结构和内容,从而更好地进行网页内容解析。

在开始网络抓取之前,我们需要安装一些必需的库。我们将在本章中使用 Requests 和 BeautifulSoup 库。

Requests 是一个常用于 HTTP 请求的 Python 库,在使用 Requests 库进行爬虫时,通常需要进行如下几个步骤:

  • 发送请求,获取网页内容;

  • 解析网页内容,提取需要的数据;

  • 存储数据或进行后续处理。

Beautiful Soup 是另外一个 Python 库,用于从 HTML 和 XML 文件中提取数据。 它通常用于网页抓取。 它创建了一个解析树,便于在不同的节点之间轻松遍历。

# 下面语句在Jupyter Notebook环境中运行
!pip install requests beautifulsoup4
  • 三种常见的 HTML 解析器

    • 解析器名称特点
      html.parserPython 自带的标准库,可以进行基本的 HTML 解析。速度比较快,但是容错能力稍差。
      lxml速度较快,容错能力较好,支持 XPath 等高级解析技术,但需要安装 C 语言库和依赖库。
      html5lib支持最好的容错能力,可以处理非标准的 HTML 代码,但是解析速度相对较慢。

因此,在选择解析器时,需要根据实际需要进行选择。如果需要解析的是基本的 HTML 代码,可以选择 html.parser 解析器;如果需要解析的是复杂的 HTML 代码,可以选择 lxml 解析器;如果需要容错能力最好的解析器,可以选择 html5lib 解析器。

我们用 Requests 和 Beautiful Soup 爬取百度首页的标题和正文内容。

import requests
from bs4 import BeautifulSoup

url = 'https://www.baidu.com'
response = requests.get(url)

# 根据文本的内容来推测它的编码方式,防止中文乱码输出。
response.encoding = response.apparent_encoding

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

title = soup.title.string
content = soup.get_text()

print('Title:', title)
print('Content:', content)

  • 首先,我们导入了 Requests 和 BeautifulSoup 库。我们定义了一个 URL,并使用 requests.get() 方法获取页面内容。我们将获取到的内容传递给 BeautifulSoup 对象,并使用 ‘html.parser’ 进行解析。

  • 然后,我们使用 soup.title.string 获取页面标题。同样地,我们使用 soup.get_text() 获取页面正文内容。

上机操作

  • 博主操作网站地址:https://colab.research.google.com/

  • 安装requests beautifulsoup4等依赖
    在这里插入图片描述

  • 爬取百度官网的标题和正文内容

在这里插入图片描述

友情推荐

  • 这里推荐一个数据采集需要的代理池
    在这里插入图片描述

📑文章末尾

在这里插入图片描述

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

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

相关文章

PHP实现网站微信扫码关注公众号后自动注册登陆实现方法及代码【关注收藏】

在网站注册登陆这环节,增加微信扫码注册登陆,普通的方法需要开通微信开发者平台,生成二维码扫码后才能获取用户的uinonid或openid,实现注册登陆,但这样比较麻烦还要企业认证交费开发者平台,而且没有和公众号…

区域自动气象站讲解

TH-QC10当我们每天查看天气预报,安排出行计划,或是在户外活动时关注天气变化,很少有人会想到这一切背后默默付出的“英雄”——区域自动气象站。这些看似不起眼的气象监测设备,却在我们日常生活中扮演着至关重要的角色。今天&…

【话题】程序员35岁会失业吗?

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景招聘分析一、技术更新换代的挑战二、经验与技术的双重优势三、职业发展的多元化选择四、个人成长与职业规划的平衡五、结语文章推荐 背景 35岁被认为是程序员职业生…

【OJ】stack刷题

个人主页 : zxctscl 如有转载请先通知 题目 1. 155. 最小栈1.1 分析1.2 代码 2. JZ31 栈的压入、弹出序列2.1 分析2.2 代码 3. 150. 逆波兰表达式求值3.1 分析3.2 代码 1. 155. 最小栈 1.1 分析 利用两个栈,一个栈a负责入数据和出数据,另一个…

分类预测 | Matlab实现DRN深度残差网络数据分类预测

分类预测 | Matlab实现DRN深度残差网络数据分类预测 目录 分类预测 | Matlab实现DRN深度残差网络数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现DRN深度残差网络数据分类预测(完整源码和数据),运行环境为Matl…

合宙开发板Core_Air780E测试AT指令

一、官方资料 CORE-AIR780E 开发板是合宙通信推出的基于 Air780E 模组所开发的,包含电源,SIM 卡,USB,天线,音频等必要功能的最小硬件系统。以方便用户在设计前期对 Air780E 模块 进行性能评估,功能调试&…

CUDA10的安装

1、因为要用到tensorflow1.15.5的GPU版本,所以想安装cuda10来进行加速,通过nvidia-smi检查本机上的CUDA版本 2、下载的cuda10版本,cuda_10.0.130_411.31_win10.exe 下载的cudnn版本,cudnn-10.0-windows10-x64-v7.6.4.38.zip 然后…

mathtype如何嵌入到word中?mathtype 7永久激活码密钥及2024最新序列号附安装教程

将MathType嵌入到Word中的方法主要有三种,分别是: 通过加载项嵌入MathType。首先,在Word中点击“文件”按钮,选择“选项”,然后选择“加载项”一栏,找到MathType相关的加载项并勾选,点击“确定…

20240404这个数字有什么特点吗?

今天是2024年的清明节,20240404这个数字让我提出了一个疑问,它是否有什么含义或者特点呢? 首先,如果把它拆分为两个整数的平方和,会怎么样呢? 于是,我一顿操作猛如虎,搞出了这么个…

html--烟花3

html <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>Canvas烟花粒子</title> <meta name"keywords" content"canvas烟花"/> <meta name"description" content"can…

Kubernetes学习笔记8

Kubernetes集群客户端工具kubectl 我们已经能够部署Kubernetes了&#xff0c;那么我们如何使用Kubernetes集群运行企业的应用程序呢&#xff1f;那么&#xff0c;我们就需要使用命令行工具kubectl。 学习目标&#xff1a; 了解kubectl 命令帮助方法 了解kubectl子命令使用分…

看不惯各种信息收集表,我手写了一个身份证号输入组件

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 背景 shigen最近的需要填写各种报名表的场景有点多&#xff0c;很多场景都要输…

三防笔记本丨加固笔记本丨三防笔记本电脑赋能车辆检修

随着汽车数量的不断增加和交通运输行业的发展&#xff0c;车辆检修行业成为了保障交通安全和延长车辆寿命的重要领域。在车辆检修过程中&#xff0c;需要使用各种工具和设备来进行检测、维修和保养&#xff0c;而信息化技术的应用正逐渐渗透到这一行业中&#xff0c;为检修工作…

【C++】背包问题

目录 背包问题01 背包背包不装满问题背包必须满问题 完全背包 背包问题 背包问题属于动态规划的一类题型 01 背包 背包不装满问题 背包必须满问题 #include <iostream> using namespace std; const int N 1010; #include <vector> int main() {int n , V;int v[…

如何做好产业园运营?树莓集团:响应政府号召,规划,注重大局观

随着经济的发展和产业结构的调整&#xff0c;产业园区的建设和发展已经成为推动地方经济的重要力量。如何做好产业园运营&#xff0c;提高行业竞争力&#xff0c;现已成为了一个亟待解决的问题。树莓集团作为一家有着丰富产业园运营经验的企业&#xff0c;积极响应政府号召&…

从头开发一个RISC-V的操作系统(五)汇编语言编程

文章目录 前提RISC-V汇编语言入门RISC-V汇编指令总览汇编指令操作对象汇编指令编码格式add指令介绍无符号数 练习参考链接 目标&#xff1a;通过这一个系列课程的学习&#xff0c;开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提 这个系列的大部分文章和知识来自于…

地面站Mission Planner从源码编译与运行

0. 环境 - win10&#xff08;基本需要100G硬盘&#xff09; - ubuntu18 1. 安装vs2022 下载 vs2022 community 在线安装包。 https://visualstudio.microsoft.com/ 打开 Visual Studio Installer 先安装 Visual Studio Community 2022本体。占用1.2GB。 Visual Studio Inst…

【linux】ubuntu ib网卡驱动如何适配

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

JQuery(一)---【JQuery简介、安装、初步使用、各种事件】

零.前言 在学习JQuery前&#xff0c;您需要具备以下知识&#xff1a; HTML相关知识(DOM)CSS相关知识JavaScript相关知识 一.JQuery 1.1JQuery简介 JQuery是一个JavaScript的“函数库”&#xff0c;不是JavaScript的一个框架&#xff0c;与“VUE、REACT”有本质区别&#x…

浅析智能数据采集技术在数字化转型中的核心作用|电商数据采集API接口的核心应用

随着科技的飞速发展和全球化的深入推进&#xff0c;数字化转型已经成为企业和社会发展的必然趋势。在这一背景下&#xff0c;智能数据采集技术作为数字化转型的核心驱动力&#xff0c;正发挥着越来越重要的作用。本文将从智能数据采集技术的定义、特点、应用场景以及对企业的影…