鱼C论坛

 找回密码
 立即注册
查看: 10227|回复: 18

[学习笔记] 爬虫学习笔记1-----初识爬虫 New!

[复制链接]
发表于 2021-1-25 23:25:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 极品召唤兽 于 2021-1-25 23:55 编辑


什么是爬虫



网络爬虫,简称爬虫,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。

搜索引擎本质上就是爬虫。在上面的过程中,搜索引擎将互联网上的网页都爬取并存储起来。当我们搜索的时候,搜索引擎就从自己存储的网页里找到我们需要的结果并展示出来。



                               
登录/注册后可看大图

(浏览器的运作过程)

首先,我们在浏览器输入网址(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 [200]>

Tips:
注意 命令代码是requests.get 不要忘记 s 哦

我们使用 requests.get('网站地址') 方法向对应的网站发起了请求,然后我们将返回的结果存到了变量 res 中供后续使用。它的类型是 Response 对象,后面的 200 是状态码



Response 对象的常用属性




                               
登录/注册后可看大图





res.status_code命令



不同的状态码有不同的含义,常见的状态码如下:


                               
登录/注册后可看大图


下面是具体使用例子
import requests

res = requests.get('https://wpblog.x0y1.com')

# 条件判断
if res.status_code == 200:
  print('请求成功')
else:
  print('请求失败')


res.text



这个代码返回的是服务器响应内容的字符串形式,也就是文本内容。(如下)

使用该指令可以看见源代码,我们通过浏览器访问该网站获取得的就是它,

获取到源代码后浏览器会将其解析成我们最终看到的页面 。



                               
登录/注册后可看大图





利用代码下载


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('扇贝编程')


*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

~~点我跳转接下文~~


                               
登录/注册后可看大图

评分

参与人数 2荣誉 +10 鱼币 +6 贡献 +4 收起 理由
巷子里的老友粉 + 5 + 5 + 3
RRROLE + 5 + 1 + 1

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-25 23:42:42 | 显示全部楼层
学废了学废了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-25 23:43:54 | 显示全部楼层

我这篇一直写写停停...都快拖一个月了hhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-26 09:34:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-26 09:45:03 | 显示全部楼层
哇哦!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-26 10:15:46 | 显示全部楼层
感谢楼主分享,已收藏,慢慢学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-26 10:44:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-30 14:40:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-31 09:45:57 | 显示全部楼层
1111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-31 22:47:32 | 显示全部楼层

回帖奖励 +1 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-1 10:36:50 | 显示全部楼层
原来如此
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-1 10:39:27 | 显示全部楼层

回帖奖励 +1 鱼币


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-1 10:42:51 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-1 11:54:39 | 显示全部楼层
慢慢学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 08:36:55 | 显示全部楼层

回帖奖励 +1 鱼币

好高级的样子   就是被爬虫吸引才打算学python的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-23 23:46:43 | 显示全部楼层
thanks sharing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-16 22:10:46 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-24 20:39:41 | 显示全部楼层
黑色长条是有文字的,大家用鼠标把他们高亮显示就能看到啦
机智如我哟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-4-17 07:20:20 | 显示全部楼层
今日学习+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表