专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

来源:小易整编  作者:小易  发布时间:2023-01-06 12:00
摘要:python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)。爬虫不一定要用python,也可以用java和C,但是python是所有编程中最好上手的robots.txt协议:君子协议,规定了网络中哪些数据可以被爬取数据,哪些不可...

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)。爬虫不一定要用python,也可以用java和C,但是python是所有编程中最好上手的

robots.txt协议:君子协议,规定了网络中哪些数据可以被爬取数据,哪些不可以

爬虫:通过编写程序来获取网络上的资源

什么是url

URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎处理它。

URL由两个主要的部分构成:协议(Protocol)和目的地(Destination)。

“协议”是告诉我们自己面对的是何种类型的Internet资源。

web中最常见的协议是http,它表示从Web中取回的是HTML文档。其他协议还有gopher,ftp和telnet等。

目的地可以是某个文件名、目录名或者某台计算机的名称。

第一个爬虫

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

由于各大网站反爬虫的防护做的还是相当可以的,所以这样的基础代码只能算是一个小尝试,并不能拿来应用。

Web请求过程剖析

  • 服务器渲染

    在服务器那边直接把数据和html整合在一起,统一返回给浏览器,在页面源代码中能看到数据

  • 客户端渲染

    第一次请求只要一个html骨架,第二次请求拿到数据,进行数据展示,在页面源代码中看不到数据

HTTP协议

协议:两个电脑传输数据时进行的君子约定

HTTP全称Hyper Text Transfer Protocol(超文本传输协议),浏览器和服务器之间数据交互遵守的是HTTP协议

HTTP不论是请求还是响应都是三块内容

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

请求头中常见的一些内容(爬虫需要):

  1. User-Agent:请求载体的身份标识(用什么发送的请求)

  2. Referer:防盗链(此次请求是从哪个页面来的)

  3. cookie:本地字符串数据信息(用户登录信息,反爬的token)

Requests

Request模块需要额外安装

案例一(get方式)

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

从运行结果可以看出,网页给出了响应,但是明显制止了程序的爬虫操作。为了能够逃过网页的监视,我们要为自己设置一个浏览器身份。

网页鼠标右键点击检查,并进入网络,刷新一下便出现了如下页面。

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

往下翻看,可以看到一个User-Agent,这是网页所显示的访问的浏览器身份,我们将它复制。

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

代码更改如下:

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

此刻便如愿爬取了网页的源代码

案例二(post方式)

我们用post方式来发送请求,想要获取什么就在右边寻找对应的文件,此时我想要获取蓝色圈住的这些数据,于是我找到了sug文件,并查看它的url。

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

我们将url赋值给代码的数据,并设置字典来保存我们想要查询的数据

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

post请求一个数据,网页返回了这个单词的意思,就像python的一个字典一样

发送post的请求必须放在字典中,并用data传递数据

get与post的区别

通过以上两个案例我们可以看到get请求方式仅仅是获取浏览器的数据,称为“显式访问”,而post在访问的时候会发送一个数据,比如上述案例的百度翻译原本我们想要查到的是dog的翻译,post方式发送了mun单词,最后我们获取到了mun的汉语意思,这称为“隐式访问”

案例三

XHR:第二次请求数据

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

我们寻找浏览器可以进入的User-Agent,并输入

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

如愿爬取到了信息,但是此时我们看起来不是很方便,转为json换成我们更熟悉的文件。

python网络爬虫基础教程(python网络爬虫0基础入门详细介绍)

爬取完信息一定要记得关掉访问,不然会被反爬盯上


本文地址:百科问答频道 https://www.neebe.cn/wenda/886664.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • Python前端是什么意思?

    Python前端是什么意思?

    Python前端是指利用Python进行网页开发的过程,是采用Python语言构建网页的技术。Python具有优秀的数据分析和可视化性能,具有更多分析和可视化专业应用,因此它也被开发者们当作WEB开发领域的第一选择语言来使用。Python...

  • MicroPython是什么

    MicroPython是什么

    MicroPython是Python3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符来立即执行所支持的命令。Mi...

  • Python语言有哪些特点

    Python语言有哪些特点

    简单易学、面向对象、可移植性、解释性、高级语言、可扩展性、丰富的库、规范的代码、开放源码软件。Python是一种面向对象的、解释型的、通用的、开源的脚本编程语言,它之所以非常流行为主要有三点原因:Python简单易用,学习成本低,看起来...

  • Python是什么意思

    Python是什么意思

    Python是计算机程序设计语言,应用于Web和Internet开发、人工智能、教育、软件开发等领域。Python的设计风格简单明确、清晰优雅,采用的都是最成熟的优化技术,非常受用户欢迎。Python是计算机程序设计语言,应用...

  • Python的作用是什么

    Python的作用是什么

    Python是一种广泛使用的高级编程语言,属于通用型编程语言,是完全面向对象的语言。函数、模块、数字、字符串都是对象。经常被用于Web开发、GUI开发、操作系统、科学计算等应用范围。Python是一种广泛使用的高级编程语言,属于通用型编程...

  • Python可以应用在哪些领域

    Python可以应用在哪些领域

    常规软件开发、科学计、自动化运维、云计算、WEB开发、网络爬虫、数据分析、人工智能,Python可以在这些领域都可应用到。Python是一门解释型、面向对象、带有动态语义的高级程序设计语言。Python具有强大而丰富的类库,也经常被别人...

  • n的阶乘公式,Python实例计算数字n的阶乘

    n的阶乘公式,Python实例计算数字n的阶乘

    n的阶乘公式,Python实例计算数字n的阶乘前言此实例题目来自网络,很基础的练手项目,根据这个实例主要总结了四种方法,希望对你有帮助。本文章的目的是通过实例学习python,适合初学者观看,但是需要有一定的python基础。编程环境pyt...

  • ini是什么,Python中ini详解

    ini是什么,Python中ini详解

    ini是什么,Python中ini详解INI简介INI即Initialize初始化之意,早期是在Windows上配置文件的存储格式。INI文件的写法通俗易懂,往往比较简单,通常由节(Section)、键(key)和值(value)组成,se...

  • 周排行
  • 月排行
  • 年排行

精彩推荐