requests模块

博客介绍了HTTP相关必知知识点,包括常见请求头、响应头,以及https协议的对称密钥、非对称密钥和证书认证三种加密方式。还介绍了Python的requests模块,它可模拟浏览器发起请求,能自动处理url编码等,最后给出爬取搜狗词条、豆瓣电影排行和肯德基地址等实际案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

必知知识点

-常见请求头

User-Agent浏览器的身份标识字符串
Content-Type请求体的MIME类型 (用于POST和PUT请求中)

-常见响应头

Status通用网关接口的响应头字段,用来说明当前HTTP连接的响应状态。

-https协议的加密方式

对称秘钥(容易被拦截)

非对称秘钥(模拟服务器响应)

证书认证(第三方机构认证的,通信双方都认可)

requests模块:requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简介,在爬虫领域占据很重要的地位。

使用requests:

自动处理url编码

自动处理post请求参数

简化cookie和代理操作

使用流程:

   指定url

   基于requests模块发起请求

   获取响应对象中的数据值

   持久化存储

实际案例:

# 需求,爬取搜狗指定词条搜索后的页面

import requests
url = "http://www.sogou.com/web"
wd = input('enter a word:')
param = {
    'query':wd
}
response = requests.get(url=url,params=param)

page_text = response.content
fileName = wd+'.html'
with open(fileName,'wb') as f:
    f.write(page_text)
    print('over')

# 豆瓣喜剧电影排行

import requests
url = 'https://movie.douban.com/j/chart/top_list'
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"
}
parma = {
    "type": "24",
    "interval_id": "100:90",
    "action": "",
    "start": "1",
    "limit": "20",
}
response_obj = requests.get(url=url,headers=headers,params=parma).json()
print(response_obj)

# 爬取肯德基地址

import requests
import json
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword'
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"
}
f = open('KFCaddr.json','w',encoding='utf-8')
for i in range(1,8):
    data = {
        "cname": "",
        "pid": "",
        "keyword": "北京",
        "pageIndex": str(i),
        "pageSize": "10",
    }
    obj_json = requests.post(url=url,headers=headers,data=data).json()['Table1']
    json.dump(obj_json,f,ensure_ascii=False)
f.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值