爬虫学习笔记1-----初识爬虫 New!
本帖最后由 极品召唤兽 于 2021-1-25 23:55 编辑什么是爬虫
网络爬虫,简称爬虫,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。
搜索引擎本质上就是爬虫。在上面的过程中,搜索引擎将互联网上的网页都爬取并存储起来。当我们搜索的时候,搜索引擎就从自己存储的网页里找到我们需要的结果并展示出来。
https://s3.ax1x.com/2020/12/27/rIIbHH.jpg
(浏览器的运作过程)
首先,我们在浏览器输入网址(URL)。然后浏览器去访问该网址对应的服务器,这个过程叫 请求(request)。接着服务器将网站内容发送给浏览器,这个过程叫 响应(response)。
爬虫就是模拟浏览器的行为,从而获取网站的数据。
爬虫工作原理
第一步:获取数据,爬虫会根据我们提供的网址,向服务器发起请求获取数据;
第二步:处理数据,对获取的数据进行处理,得到我们需要的部分;
第三步:存储数据,将处理后的数据保存起来,便于后续的使用和分析等。
接下来,我们来学习爬虫中最常用的发起请求的第三方库——requests。下面是 requests 的中文文档页面(https://requests.kennethreitz.org/zh_CN/latest/)。
如果我们想在自己的电脑上安装,可以通过在命令行中输入 pip install requests 安装。
requests.get() 方法
第一步:获取数据
import requests# 导入 requests 模块
res = requests.get('https://wpblog.x0y1.com')# 发起请求
print(res)
# 输出:<Response >
Tips:
注意 命令代码是requests.get 不要忘记 s 哦
我们使用 requests.get('网站地址') 方法向对应的网站发起了请求,然后我们将返回的结果存到了变量 res 中供后续使用。它的类型是 Response 对象,后面的 200 是状态码
Response 对象的常用属性
https://s3.ax1x.com/2021/01/16/sD4Az9.jpg
res.status_code命令
不同的状态码有不同的含义,常见的状态码如下:
https://img.imgdb.cn/item/6002bd293ffa7d37b3eba432.jpg
下面是具体使用例子
import requests
res = requests.get('https://wpblog.x0y1.com')
# 条件判断
if res.status_code == 200:
print('请求成功')
else:
print('请求失败')
res.text
这个代码返回的是服务器响应内容的字符串形式,也就是文本内容。(如下)
使用该指令可以看见源代码,我们通过浏览器访问该网站获取得的就是它,
获取到源代码后浏览器会将其解析成我们最终看到的页面 。
https://img.imgdb.cn/item/6002c4c63ffa7d37b3f0472b.png
利用代码下载
import requests
# 获取孔乙己数据
res = requests.get('https://apiv3.shanbay.com/codetime/articles/mnvdu')
# 以写入的方式打开一个名为孔乙己的 txt 文档
with open('孔乙己.txt', 'w') as file:
# 将数据的字符串形式写入文件中
file.write(res.text)
file指令
open() 函数是 Python 中的内置函数,用于打开文件,返回值是一个 file 对象。
open() 函数接收的第一个参数为文件名,第二个参数为文件打开模式。打开模式默认为 r,是 read 的缩写,表示只读模式。即只能读取内容,不能修改内容。
常用的打开模式有 w(write,只写模式)、b(binary,二进制模式)和 a(append,追加模式,表示在文件末尾写入内容,不会从头开始覆盖原文件)。
Tips:
在 w 和 a 模式下,如果你打开的文件不存在,那么 open() 函数会自动帮你创建一个。
这些打开模式还能两两组合,
比如:
rb 表示以二进制格式打开文件用于读取,
wb 表示以二进制格式打开文件用于写入,
ab 表示以二进制格式打开文件用于追加写入。
# 读取文件
file = open('文本.txt')# 打开模式默认为 r,可省略
print(file.read())# 调用 read() 方法读取文件内容
file.close()# 关闭文件
# 写入文件
file = open('文本.txt', 'w')# 写入模式
file.write('扇贝编程')# 调用 write() 方法写入内容
file.close()# 关闭文件
为了避免忘记调用 close() 方法关闭文件,导致资源占用、文件内容丢失等问题,
推荐使用 with ... as ... 语法,它在最后会自动帮你关闭文件。
# 普通写法
file = open('文本.txt', 'w')# 写入模式
file.write('扇贝编程')# 调用 write() 方法写入内容
file.close()# 关闭文件
# 使用 with ... as ... 写法
with open('文本.txt', 'w') as file:
file.write('扇贝编程')
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
~~点我跳转接下文~~
https://s1.ax1x.com/2020/08/03/adUfk6.gif
学废了学废了{:10_254:} Daniel_Zhang 发表于 2021-1-25 23:42
学废了学废了
我这篇一直写写停停...都快拖一个月了hhh {:10_277:} {:10_254:}{:10_254:}{:10_254:}哇哦!!! 感谢楼主分享,已收藏,慢慢学 {:5_95:} {:10_256:}{:10_256:}{:10_256:} 1111 顶{:5_102:} 原来如此 真的
学习了 慢慢学 好高级的样子 就是被爬虫吸引才打算学python的{:10_254:} thanks sharing 666 黑色长条是有文字的,大家用鼠标把他们高亮显示就能看到啦
机智如我哟 今日学习+1
页:
[1]