使用Requests库进行爬虫

148 阅读2分钟

「这是我参与2022首次更文挑战的第17天,活动详情查看:2022首次更文挑战

这几天突发奇想想玩玩爬虫,于是速通完了python基础,开始爬虫之旅。爬虫本质上还是模拟互联网向服务器发送请求,获取响应内容后,解析出自己想要的数据。用户可以用这些数据进行大数据分析、满足自己的特殊需求、将其商业化.....

咋们直接进入正题,刚才说到爬虫就是模拟互联网发送请求,这里简单介绍一下使用requests库进行爬虫的学习。

Requests 是用**Python**语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。

requests模块的编码流程

步骤一:安装相应的环境

可以直接在pycharm中进行安装

image-20220203215151450

然后搜索出requests,进行安装

image-20220203215255355

步骤二:给出指定的url

# 指定用户输入的url
url = 'https://www.sogou.com/web'

步骤三:发起请求

使用requests中的方法get()向服务器发起请求

response = requests.get(url)

UA检测:门户网站的服务器会检测对应请求的素识如果检测到请求的载体体身份标识,如果检测到该标识为某一款浏览器,说明该请求是一个正常的请求。但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示为不正常请求,服务器可能拒绝该请求。

UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器

注意:如果需要给定参数,或者进行UA伪装,则要指定get的参数名字

response = requests.get(url = url,params = user_find,headers = user_agent)

步骤四:获取响应数据

response = requests.get(url = url,params = user_find,headers = user_agent)
request = response.text

注意:如果知道返回的数据类型为文本,可使用text获取,如果知道是json类型,可以使用json()方法获取对应的响应数据。

步骤五:持久化存储

使用python中的io进行文件操作

with open("./"+user_query+".html","w",encoding='utf-8') as fp:
    fp.write(request)
print("爬取成功!")

完整源码

import requests

# 爬取网络数据
# 指定url
url = "https://www.baidu.com"
# 发起请求
response = requests.get(url=url)
# 获取响应数据
text = response.text
print(text)
# 持久化数据
with open("./test.html","w",encoding='utf-8') as fp:
    fp.write(text)