爬虫小白应该如何学习爬虫

这篇具有很好参考价值的文章主要介绍了爬虫小白应该如何学习爬虫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Python3网络爬虫?

定义:

网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。爬虫其实是通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。

爬虫的价值:

抓取互联网上的数据,为我所用,有了大量的数据,就如同有了一个数据银行一样,下一步就是如何将这些数据产品化、商业化。

爬虫是否合法

网络爬虫在法律中是不被禁止,但是具有违法风险,通常来说爬虫分为善意的爬虫和恶意的爬虫。爬虫带来的风险可以体现在如下两个方面:

  • 爬虫干扰了被访问网站的正常运营
  • 爬虫抓取了受法律保护的特定类的数据或信息

那么我们如何在使用编写爬虫的过程中避免进入局子的厄运呢?

  • 时常优化自己的程序,避免干扰被访问网站的正常运行
  • 在使用、传播爬取到的数据时,审查抓取到的内容,如果发现涉及到用户隐私或者商业机密等敏感内容,需要及时停止爬取或传播

爬虫在使用场景中的分类

  • 通用爬虫抓取系统重要组成部分,抓取的是一整张页面数据
  • 聚焦爬虫是建立在通用爬虫的基础之上,抓取页面中特定的局部内容
  • 增量式爬虫检测网站中数据更新的情况,只会爬取网站中最新更新出来的数据

爬虫的矛与盾

反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据。

下面,我们来了解一下网络爬虫中一个重要的协议:robots.txt协议。robots.txt协议是一个君子协议,协议中规定了网站中哪些数据可以被爬取哪些数据不能被爬取。

http协议和https协议

http协议:就是服务器和客户端进行数据交互的一种形式。http协议中常用的请求头信息:

  • User-Agent:请求载体的身份标识
  • Connection:请求完毕后,是断开连接还是保持连接http协议中常用的响应头信息:
  • Content-Type:服务器响应回客户端的数据类型https协议其实就是一种安全的http协议

2.网页审查元素

在爬虫内容之前,我们需要先学习一项写爬虫的必备技能:审查元素(如果已掌握,可跳过此部分内容)。

审查元素

在浏览器的地址栏输入URL地址,在网页处右键单击,找到检查。(不同浏览器的叫法不同,Chrome浏览器叫做检查,Firefox浏览器叫做查看元素,但是功能都是相同的)

爬虫小白应该如何学习爬虫

 点击检查我们可以看到,右侧出现了一大推代码,这些代码就叫做HTML。什么是HTML?举个容易理解的例子:我们的基因决定了我们的原始容貌,服务器返回的HTML决定了网站的原始容貌。

为啥说是原始容貌呢?

爬虫小白应该如何学习爬虫

 文章来源地址https://www.toymoban.com/news/detail-488333.html

说这么多,什么意思呢?浏览器就是作为客户端从服务器端获取信息,然后将信息解析,并展示给我们的。我们可以在本地修改HTML信息,为网页”整容”,但是我们修改的信息不会回传到服务器,服务器存储的HTML信息不会改变。刷新一下界面,页面还会回到原本的样子。这就跟人整容一样,我们能改变一些表面的东西,但是不能改变我们的基因。

简单实例

网络爬虫的第一步就是根据URL,获取网页的HTML信息。在Python3中,可以使用urllib.request和requests进行网页爬取。

  • urllib库是python内置的,无需我们额外安装,只要安装了Python就可以使用这个库。
  • requests库是第三方库,需要我们自己安装。

requests库强大好用,所以本文使用requests库获取网页的HTML信息。requests库的github地址:GitHub - psf/requests: A simple, yet elegant, HTTP library.

 安装request库

在cmd中,使用如下指令安装requests:

pip install requests
easy_install requests

requests库的基础方法如下:

爬虫小白应该如何学习爬虫 

requests库的开发者为我们提供了详细的中文教程,查询起来很方便。本文不会对其所有内容进行讲解,摘取其部分使用到的内容,进行实战说明。

首先,让我们看下requests.get()方法,它用于向服务器发起GET请求,不了解GET请求没有关系。我们可以这样理解:get的中文意思是得到、抓住,那这个requests.get()方法就是从服务器得到、抓住数据,也就是获取数据。让我们看一个例子(以 www.gitbook.cn为例)来加深理解:

import requests

if __name__ == '__main__':
    target = 'http://gitbook.cn/'
    req = requests.get(url=target)
    print(req.text)

 爬虫小白应该如何学习爬虫

 

爬虫小白应该如何学习爬虫

爬虫小白应该如何学习爬虫 爬虫小白应该如何学习爬虫

 

 

到了这里,关于爬虫小白应该如何学习爬虫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python3 网络爬虫开发实战 第2版 (崔庆才) PDF 高清

    《Python 3 网络爬虫开发实战(第二版)》是由崔庆才所著的一本关于使用 Python 进行网络爬虫开发的书籍。 网络爬虫基础:介绍网络爬虫的基本概念、工作原理和常见的应用场景。 HTTP 协议与 Scrapy 框架:解释 HTTP 协议的基本知识,以及如何使用 Scrapy 框架来构建和管理爬虫项

    2024年04月09日
    浏览(72)
  • python3 爬虫相关学习7:初步摸索使用 BeautifulSoup

    目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2  直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因: 没有提前安装这个bs4  模块 2.3 如何提前知道我的python环境下有没有安装bs4 或其他模块呢

    2024年02月08日
    浏览(43)
  • python3 爬虫相关学习8:python 的常见报错内容 汇总收集

    目录 1 低级错误(比如拼写错误等)  1.1 NameError:  1.2 属性错误 AttributeError:  属性拼写错误 2  应用错误(类型应用,属性使用的错误) 2.1 类型错误 TypeError:  如字符串连接错误 2.2  属性应用错误  AttributeError 3 模块相关错误 3.1 找不到对应模块 ModuleNotFoundError: 3.2 相关模

    2024年02月09日
    浏览(42)
  • python3 爬虫相关学习8:python 的常见报错内容汇总(持续收集ing)

    目录 1 低级错误(比如拼写错误等)  1.1 NameError:  1.2 属性错误 AttributeError:  属性拼写错误 2  应用错误(类型应用,属性使用的错误) 2.1 类型错误 TypeError:  如字符串连接错误 2.2  属性应用错误  AttributeError 3 模块相关错误 3.1 找不到对应模块 ModuleNotFoundError: 3.2 相关模

    2024年02月04日
    浏览(41)
  • python3 爬虫相关学习3:response= requests.get(url)的各种属性

    目录 1  requests.get(url) 的各种属性,也就是response的各种属性 2 下面进行测试 2.1 response.text 1.2  response.content.decode() 1.2.1 response.content.decode() 或者  response.content.decode(\\\"utf-8\\\") 1.2.2   response.content.decode(\\\"GBK\\\") 报错 1.2.3 关于编码知识 1.3 response.url  1.4 response.status_code 插入知识:

    2024年02月03日
    浏览(37)
  • 如何实现Python 3.8.10应该安装什么版本的urllib3和 chardet的具体操作步骤

    如何安装适合Python 3.8.10的urllib3和chardet版本 作为一名经验丰富的开发者,你可以帮助那些刚入行的小白解决他们遇到的问题。在这个任务中,你需要教会一位小白如何安装Python 3.8.10需要的urllib3和chardet版本。下面是一份包含步骤的流程表格,用于指导你的讲解: 步骤 操作

    2024年01月16日
    浏览(43)
  • python实现网络爬虫代码_python如何实现网络爬虫

    python实现网络爬虫的方法:1、使用request库中的get方法,请求url的网页内容;2、【find()】和【find_all()】方法可以遍历这个html文件,提取指定信息。 python实现网络爬虫的方法: 第一步:爬取 使用request库中的get方法,请求url的网页内容 编写代码[root@localhost demo]# touch demo.py [

    2024年01月20日
    浏览(46)
  • 【笔记】Python3|爬虫请求 CSRF-Token 时如何获取Token、Token过期、处理 CSRF-Token 需要注意的问题及示例

      CSRF-Token 机制是 Web 应用程序中常用的安全机制,它可以防止跨站请求伪造攻击,但会给爬虫造成一定的困扰。本文将介绍在使用 Python3 爬虫时, 处理 CSRF-Token 机制需要注意的问题及示例 。   在 Web 开发中,每次发送请求时,服务器都会生成一个 CSRF-Token。当用户访问

    2024年02月04日
    浏览(102)
  • 网络安全里主要的岗位有哪些?小白如何快速入门学习黑客?

    入门Web安全、安卓安全、二进制安全、工控安全还是智能硬件安全等等,每个不同的领域要掌握的技能也不同。 当然入门Web安全相对难度较低,也是很多人的首选。主要还是看自己的兴趣方向吧。 本文就以下几个问题来说明网络安全大致学习过程👇 网络安全主要岗位有哪些

    2024年02月06日
    浏览(49)
  • 如何在网络爬虫中解决CAPTCHA?使用Python进行网络爬虫

    网络爬虫是从网站提取数据的重要方法。然而,在进行网络爬虫时,常常会遇到一个障碍,那就是CAPTCHA(全自动公共图灵测试以区分计算机和人类)。本文将介绍在网络爬虫中解决CAPTCHA的最佳方法,并重点介绍CapSolver无缝集成。 网络爬虫中的CAPTCHA是指在从网站提取数据时遇

    2024年01月22日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包