专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

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基础入门详细介绍)

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


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


IT百科
小编:小易整编
相关文章相关阅读
  • Python基础

    Python基础

    前言python,是龟叔在1989年为了打发无聊的圣诞节而编写的一门编程语言,特点是优雅、明确、简单,现今拥有丰富的标准库和第三方库。python适合开发web网站和各种网络服务,系统工具和脚本,作为“胶水”语言把其他语言开发的模块包装起来...

  • python怎么实现三子棋游戏

    python怎么实现三子棋游戏

    一、基本流程三子棋游戏实现逻辑如下:1、创建初始化3*3棋盘;2、玩家执U子,先进行落子;3、胜负判定【胜、负、和棋】,若胜负未分,则继续如下4、电脑执T子,进行落子;5、胜负判定,若胜负未分,则从步骤2继续执行二、基本步骤1、菜单界面选择...

  • Python服务器编程:使用PyAudio进行音频处理

    Python服务器编程:使用PyAudio进行音频处理

    python是一种功能强大的编程语言,可以用于从简单的脚本到复杂的应用程序和服务器。pyaudio是python中一种流行的音频处理库,可以用于录制、播放和处理音频数据。在本文中,我们将探讨如何使用PyAudio来开发一个Python服务器...

  • 如何用Python中的jieba库?

    如何用Python中的jieba库?

    python中jieba库(中文分词库)使用安装教程介绍jieba是优秀的中文分词第三方库。由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个单词,这种手段就叫分词。而jieba是python计算生态中非常优秀的...

  • python框架是什么,主流框架有哪些

    python框架是什么,主流框架有哪些

    Python框架通常分为全栈框架和非全栈框架。全栈框架设计从用户体验到数据库的所有技术,非全栈框架则并不包含整个开发的全部技术。下面是15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,...

  • python中divmod是什么

    python中divmod是什么

    python中pmod是什么?下面给大家带来pmod的相关介绍。pmod函数是Python的内置函数,它可以把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b,a%b)。语法 pmod(pidend,pisor)...

  • 网络爬虫技术是什么意思?

    网络爬虫技术是什么意思?

    网络爬虫技术是指按照一定的规则,自动地抓取万维网信息的技术。网络爬虫又称为网页蜘蛛、网络机器人,在foaf社区中间,更经常的称为网页追逐者;另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络爬虫技术是指按照一定的规则,自动地抓...

  • Python中的GIL是什么

    Python中的GIL是什么

    为什么需要GILgil本质上是一把锁,学过操作系统的同学都知道锁的引入是为了避免并发访问造成数据的不一致。cpython中有很多定义在函数外面的全局变量,比如内存管理中的 usable_arenas 和 usedpools,如果多个线...

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

精彩推荐