Python爬虫详解

article/2025/11/8 10:27:44

从今天开始,给大家介绍Python爬虫相关知识,今天主要内容是爬虫的基础理论知识。

一、爬虫简介

爬虫是指通过编写程序,来模拟浏览器访问Web网页,然后通过一定的策略,爬取指定内容。因此,爬虫的编写通常分为两个部分,第一部分是更好的模拟浏览器,第二部分是在爬虫爬取的网页信息中,通过一定的方法,提取出我们想要的数据。
爬虫可以快速筛选互联网上的指定数据信息,因此具有很高的应用价值。有一种说法称:“互联网上有”

二、爬虫合法性和编写注意事项

爬虫本身在法律上是不被禁止的,但是爬虫本身作为一项技术,就尤其危险性。编写爬虫的风险主要有以下2点:
1、爬虫干扰了被访问网页的正常运营。
2、爬虫爬取了受保护的数据信息,例如他人隐私数据信息等。
因此,我们在编写爬虫程序时,要特别注意以上两点。一是合理设置爬虫爬取的速度,必要时可以使用sleep()函数可以增加爬虫爬取网页的时间间隔,特备是要审慎使用多线程;二是注意不要爬取收到法律保护的信息,即使是爬取网络上的公开信息,也要注意信息的处理和使用,尽量避免将爬虫爬取的信息传递出去。
在互联网发展初期,各大搜索引擎和知名网站站长之间约定了一个“君子协定”——robots协议。robots协议是各大站点在自己网站的主页面下,创建了一个robots.txt的文件,在该文件中规定了哪些爬虫可以爬取哪些网页,或者不可以爬取哪些网页。
例如,淘宝的robots.txt文件内容如下所示:
在这里插入图片描述
从上图可以看出,淘宝网站拒绝百度爬虫爬取自己的任何站点。
腾讯的robots.txt文件内容如下所示:
在这里插入图片描述
从上图中可以看出,腾讯允许任何爬虫爬取自己的任何页面。
CSDN的robots.txt文件内容如下所示:
在这里插入图片描述
从上图中可以看出,CSDN拒绝了任何爬虫爬取/images/、/ui/等页面。
注意,robots协议之所以是一个“君子协议”,就是因为robots协议本身没有任何强制性!但是这并不意味着robots协议可有可无,有些公司因为违反robots协议而爬取他人网站信息而被迫赔偿的也有很多案例。

三、爬虫的矛与盾

不同的网站对于爬虫的态度是不同的,有的站点可能欢迎“善意”的爬虫爬取自己站点的信息,甚至刻意优化自己的网页,以方便爬虫获取网站信息;有的站点可能不喜欢任何爬虫的爬取;有的可能只允许部分爬虫爬取自己的网页,但是会拒绝其他的爬虫爬取网页。
为了应对爬虫的爬取,各大网站会设置反爬虫机制,通过一定的技术手段,限制爬虫爬取自己网站的信息。须知,爬虫爬取的网页是公开的网页。因此,反爬机制的核心就是区分正常浏览器对网站的访问和爬虫对网站的访问。与之对应的是爬虫的反反爬策略,爬虫会想办法伪装成浏览器,绕过网站的反爬机制,从而爬取到信息。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200


http://chatgpt.dhexx.cn/article/xAHa4uAV.shtml

相关文章

python爬虫技术简介-python网络爬虫---简介与认识HTTP

一、python爬虫环境与简介 二、认识HTTP 三、简单静态网页爬取 四、常规动态网页爬取 五、模拟登陆 六、PC客户端抓包 七、Scrapy爬虫 一、python爬虫环境与简介 1、认识爬虫 (1)爬虫的概念 网络爬虫也被称为网络蜘蛛、网络机器人,…

python 爬虫总结

requests模块 import reqeusts # get 请求 # 网址 url_login "url://123.com"# 请求头 headers {User-Agent: Apipost client Runtime/https://www.apipost.cn/ }# 参数,形式字典 kw {key:value} response reqeusts.get(urlurl_login,paramskw)# pos…

Python爬虫介绍

一、什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息 二、Python爬虫架构 Python爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序(爬取的有价值数据…

Python实用技术——爬虫(一):爬虫基础

目录 爬虫这门技术本身是不违法的,但是应该注意: 1,爬取什么数据 2,如何爬取得来的 3,爬取之后如何使用 二,HTTP协议 1,万维网 2,协议: 三,HTTP知识 …

Python爬虫讲解(超详细)

Python爬虫是一种通过编写程序自动从互联网上获取数据的技术。下面是Python爬虫的详解: 爬虫的基本原理 爬虫的基本原理是**通过模拟浏览器的行为**,访问目标网站,并获取目标页面中的数据。Python爬虫可以使用requests库来发送HTTP请求&…

python爬虫技术整理

Python爬虫——新闻热点爬取 显示更多 可以看到相关的数据接口,里面有新闻标题以及新闻详情的url地址 如何提取url地址 1、转成json,键值对取值; 2、用正则表达式匹配url地址;根据接口数据链接中的pager 变化进行翻页&#xf…

Pytorch创建多任务学习模型

在机器学习中,我们通常致力于针对单个任务,也就是优化单个指标。但是多任务学习(MTL)在机器学习的许多应用中都取得了成功,从自然语言处理和语音识别到计算机视觉和药物发现。 MTL最著名的例子可能是特斯拉的自动驾驶系统。在自动驾驶中需要…

多任务学习 Pytorch实现

多任务学习MTL的简单实现,主要是为了理解MTL 代码写得挺烂的,有时间回来整理一下 import torch import torch.nn as nn import torchvision import torchvision.transforms as transforms import numpy as np import matplotlib.pyplot as plt import ma…

【综述】多任务学习

前言 本文对多任务学习(multi-task learning, MTL)领域近期的综述文章进行整理,从模型结构和训练过程两个层面回顾了其发展变化,旨在提供一份 MTL 入门指南,帮助大家快速了解多任务学习的进化史。 1. 什么是多任务学习? 多任务学习…

多任务学习原理与优化

文章目录 一、什么是多任务学习二、为什么我们需要多任务学习三、多任务学习模型演进Hard shared bottom 硬共享Soft shared bottom 软共享软共享: MOE & MMOE软共享: CGC & PLE加入FMMMOE/PLE 的调参ESMM 四、 loss权重1, 利用任务的…

【多任务学习-Multitask Learning概述】

多任务学习-Multitask Learning概述 1.单任务学习VS多任务学习多任务学习的提出多任务学习和单任务学习对比 2.多任务学习共享表示shared representation:多任务学习的优点那么如何衡量两个任务是否相关呢? 当任务之间相关性弱多任务MLP特点总结多任务学…

多任务学习(Multi-Task Learning, MTL)

目录 [显示] 1 背景2 什么是多任务学习?3 多任务学习如何发挥作用? 3.1 提高泛化能力的潜在原因3.2 多任务学习机制3.3 后向传播多任务学习如何发现任务是相关的4 多任务学习可被广泛应用? 4.1 使用未来预测现在4.2 多种表示和度量4.3 时间序…

Tensorflow 多任务学习

之前在caffe上实现了两个标签的多任务学习,如今换到了tensorflow,也想尝试一下,总的来说也不是很复杂。 建立多任务图 多任务的一个特点是单个tensor输入(X),多个输出(Y_1,Y_2...)。因此在定义占位符时要定义多个输出。同样也需要…

多任务学习:Multi-Task Learning as Multi-Objective Optimization

前言 最近在写一篇文章,是一篇深度学习与安全相结合的文章,模型的输出会交给两个损失函数(availability & security)进行损失计算,进而反向传播。起初的想法是直接将两项损失进行加权平均,共同进行反向…

深度学习中的多任务学习(一)

任务学习-Multitask Learning概述 Reference https://blog.csdn.net/u010417185/article/details/83065506 1、单任务学习VS多任务学习 单任务学习:一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。多任务学习…

C# 多线程八 任务Task的简单理解与运用二

目录 一.Task 1.AsyncState 2.CompletedTask 3.CreationOptions 4.CurrentId 5.Exception 6.Factory 7.Id 8.IsCanceled 9.IsCompleted 10.IsFaulted 11.Status 二.Task<TResult> 1.Result 上篇&#xff1a; C#…

多任务学习(一)

多任务学习 单任务学习 样本之间没有关联性。 缺点&#xff1a;训练出来的模型不具有泛化性&#xff1b;不共享信息使得学习能力下降。 多任务学习 多任务学习的构建原则 建模任务之间的相关性同时对多个任务的模型参数进行联合学习&#xff0c;挖掘其中的共享信息&#…

多任务学习-Multitask Learning概述

2020-02-22 09:59:48 1、单任务学习VS多任务学习 单任务学习&#xff1a;一次只学习一个任务&#xff08;task&#xff09;&#xff0c;大部分的机器学习任务都属于单任务学习。 多任务学习&#xff1a;把多个相关&#xff08;related&#xff09;的任务放在一起学习&#x…

深度学习之----多任务学习

介绍 在机器学习&#xff08;ML&#xff09;中&#xff0c;通常的关注点是对特定度量进行优化&#xff0c;度量有很多种&#xff0c;例如特定基准或商业 KPI 的分数。为了做到这一点&#xff0c;我们通常训练一个模型或模型组合来执行目标任务。然后&#xff0c;我们微调这些模…

深度学习中的多任务学习介绍

在2017年有一篇关于在深度神经网络中多任务学习概述的论文&#xff1a;《An Overview of Multi-Task Learning in Deep Neural Networks》&#xff0c;论文链接为&#xff1a;https://arxiv.org/pdf/1706.05098.pdf&#xff0c;它介绍了在深度学习中多任务学习(Multi-task Lear…