python爬虫:爬虫的简单介绍及requests模块的简单使用

一点点的建议:

(学习爬虫前建议先去了解一下前端的知识,不要求很熟悉,差不多入门即可学习爬虫,如果有不了解的,我也会补充个一些小知识.)

(了解一些前端的知识对于学习爬虫有很大的帮助.)

这边还是先说一下,作者使用pycharm,推荐这个软件,因为这个文本编译器,有很多优秀的功能,对于新手也是非常友好的。(以后如果工作,可能是写python的程序员,用到这个软件的频率也是很高的。)

————————————————————————————————————————————————————————————————

一个问题:

question: 为什么我们编写爬虫就可以获取网页里的各种数据,代码 ?

我们使用浏览器上网,来获取网页,从而来获得我们想要的内容,

而我们编写爬虫,其实就是模拟浏览器上网,来获取网页中我们想要的内容。

1.一点介绍

requests 模块:

requests 模块是爬虫的最重要的部分之一,我们通过这个模块,来获取网页的数据,

像我们比如说,要获取某个网页的网页源码,或者是要爬取B站的某个up主的粉丝数,

或者你为了能够在一些网站白嫖某些小说,就用到了requests模块,

(注:为了获取网页的数据,requests模块并不是唯一的,在python中还有urllib模块,

也可以获取网页数据,但是urllib模块相对比较老,且不比requests模块方便,所以作者在这边选择requests模块。)


2.requests模块学习

一点前端知识:

http的请求类型有很多种,我们写爬虫时主要是用到post和get这两种。(其他的也有用,暂时不做介绍)

简单说一下,暂时就先知道get可以直接获取网页的内容,

但是有些网页的加载,需要用户输入参数才能动态加载出来,所以就比较需要post,它可以携带一些参数,从而返回我们想要的内容。


在导入requests模块后,我们就可以使用里面的对象来实现我们的要求。

requests.get(url="...",headers=...):这个函数可以返回我们想要的数据,不过返回的是一个对象,我们要自己定义个对象来承接,然后可以将其重构成我们想要的格式。

requests.post(url="...",headers=...,params=...):这个跟get差不多,区别是后面params携带的是你要的参数。(比如你要做一个翻译器,params就可以是你要翻译的内容。)

url就是你要爬取的网址,像headers的话,就是用来包装你的爬虫,让你的爬虫伪装成浏览器,(因为大部分的网站,会有反爬机制,他不想让爬虫来爬取自己的内容,所以我们就需要包装一下我们的爬虫。)这样就可以成功爬取网页。


爬虫的步骤:(怎么写爬虫)

一般来说,爬虫的步骤,可以概括为,指定url,获取网页内容,解析网页内容,最后进行存储。然后比如你要做一些特定需求的爬虫,也是在这些步骤之上,做些变化而已。

实战1:爬取搜狗搜索的网页代码。

<1>安装包

在自己电脑的终端输入"pip install requests"即可成功安装requests包。

<2>开始写代码

(自己写,这边贴作者代码,还有就是这边爬取这个搜狗的代码,不需要用到headers包装。)

爬取完了之后,作者是存到了自己的文件夹下面,然后打开 搜狗.html ,我们就可以看到网页的源码了。

如下图:

看起来是不是很抽象,看不懂,我们这时候,只要用编译器打开你爬取回来的网页代码,就可以看见你爬取回来的,是不是正确的网页源码。

比如这个搜狗的搜索网页:

在这里这一句,就可以充分表明,是你自己本地的网页,而不是自己又打开了搜狗搜索的网页。

<3>最后讲两句

爬虫要学习的内容还有很多,这里只是入入门,打个样让大家尝试一下,给大家一个大致印象,接下来需要更多练习跟学习来学爬虫。可以多上上视频网站看看。

(作者的更新周期很长,平常可能记起来要写博客才写的)

python爬虫:爬虫的简单介绍及requests模块的简单使用的更多相关文章

  1. Python基础笔记系列十二:requests模块的简单应用

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! httpbin httpbin这个网站能测试 HTTP 请求和响应的各种信 ...

  2. python 全栈开发,Day134(爬虫系列之第1章-requests模块)

    一.爬虫系列之第1章-requests模块 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的 ...

  3. 进程、requests模块的简单使用

    一.进程 1.进程间数据不共享 import multiprocessing data_list = [] def task(arg): data_list.append(arg) print(dat ...

  4. 爬虫学习笔记(三)requests模块使用

    前面在说爬虫原理的时候说了,就写代码自动化的获取数据,保存下来数据,那怎么写代码来请求一个网址,获取结果呢,就得用requests模块了. 这篇博客说一下requests模块的使用,requests模 ...

  5. 接口测试简单介绍、及jmeter的简单使用

    1.接口测试简单介绍 接口测试其实就是功能测试,是从数据库查询到数据,返回查询结果 接口返回的数据都是json,json是一种通用的数据类型. 接口测试的优点:能在稍微偏底层的地方发现bug,越底层发 ...

  6. Python图形图像处理库的介绍之Image模块

    http://onlypython.group.iteye.com/group/wiki/1372-python-graphics-image-processing-library-introduce ...

  7. httprunner3源码解读(1)简单介绍源码模块内容

    前言 最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于 ...

  8. 爬虫简介与requests模块

    爬虫简介与requests模块 一 爬虫简介 概述 网络爬虫是一种按照一定规则,通过网页的链接地址来寻找网页的,从网站某一个页面(通常是首页)开始,读取网页的内容,找到网页中的其他链接地址,然后通过这 ...

  9. requests库的使用、安装及方法的简单介绍

    requests库的使用.安装及方法的简单介绍 1.requests库的概述 requests库是一个简洁且简单的处理HTTP请求的第三方库,是公认的最好获得第三方信息的库. requests库更多信 ...

随机推荐

  1. Docker之Docker Machine已弃用

    作为刚开始学习docker的新手,从网上查询文档无疑是最快的学习捷径,但是这次在docker翻车了,困扰了整整三天,特记录一下. 一般我们使用docker for windows安装,一路往下点直至安 ...

  2. python极简教程08:对象的方法

    测试奇谭,BUG不见. 讲解之前,我先说说我的教程和网上其他教程的区别: 1 我分享的是我在工作中高频使用的场景,是精华内容: 2 我分享的是学习方法,亦或说,是指明你该学哪些.该重点掌握哪些内容: ...

  3. 1121day-户别确认

    1.Addinfor.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  4. 【刷题-LeetCode】200 Number of Islands

    Number of Islands Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. ...

  5. js复制标题和链接

    问题 常常在写博客和作业时候,需要附上参考链接. 希望可以一键得到标题和链接. 解决方案 普通元素 可以使用findid然后复制 但是标题无法使用 <!DOCTYPE html> < ...

  6. VUE3 之 组件传参

    1. 概述 韦奇定律告诉我们:大部分人都很容易被别人的话所左右,从而开始动摇.怀疑,最终迷失自我.因此我们要努力的坚定信念,相信自己,才不会被周围的环境所左右,才能取得最终的胜利. 言归正传,之前我们 ...

  7. 《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)

    1.简介 前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图.有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的 ...

  8. QMainWindow(一)

    mainwindow.h: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> class MainWindo ...

  9. iPhone12和iPhone12pro的区别有什么?

    阅读全部 说法一 iPhone12和iPhone12pro的区别有:颜色.价格.运行内存.拍照.屏幕最高亮度.电池容量.材质.重量等,具体对比如下: 颜色:iPhone12五色可选,青春绚丽:iPho ...

  10. el表达式中的${param}用法

    el表达式中的${param}? 1. 2. ${param.name} 等价于 request.getParamter("name"),这两种方法一般用于服务器从页面或者客户端获 ...