Python爬虫一些代码细节

这篇博客介绍了Python网络爬虫的几个关键点:如何处理POST请求的JSON数据,保持cookies,以及文件本地存储。内容包括设置请求头,转换POST数据为JSON格式,保存HTML、JSON文件和二进制文件的方法。此外,还提及了SHA1加密的实现步骤。

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

网页爬虫一些代码模板:

①针对post的请求为,参数为json格式的。在浏览器network调试时,有如下一栏
Request Payload

在这里插入图片描述

针对该种数据,与form data提交不同。需要将数据转换为json格式的,同时请求头部也要更改内容类型为json

头部:
headers={
‘User-Agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36’,
‘Content-Type’: ‘application/json’
}

其中json.dumps(data) 参数data为post form data类型的数据一样,都为字典类型。
发起post请求的例子:
response=requests.post(login_url,headers=headers,data=json.dumps(data),cookies=cookies)

②不使用session对话类型,保持cookies的方法。
首先进行requests.get或者.post请求,返回一个对象,存入response中
通过如下两行即可。

#更新cookies
cookietjar=response.cookies
cookies=requests.utils.dict_from_cookiejar(cookiejar)

print打印cookies为如下样式的。

然后在下一个要保持的requests请求参数中,添加cookies=cookies即可。
如下:
response=requests.post(login_url,headers=headers,data=json.dumps(data),cookies=cookies)

③文件写入本地的方法:

path为’./xx.xx’ 为写入当前目录下,如果当前目录没有要写入的文件名,则创建一个。
1.返回为text/html类型的文件:

with open(’./xxx.html’, ‘w’, encoding=‘utf-8’) as fp:
fp.write(response.text)

2.json文件:

json_obj=response.json()
file=open(’./xxx.json’,‘w’,encoding=‘utf-8’)
json.dump(json_obj,fp=file,ensure_ascii=False)

3.二进制文件,比如图片什么的

with open(path,‘wb’) as f: #验证码保存本地
f.write(response.content)
f.close()

④shr1加密
import hashlib
sha1 = hashlib.sha1()
data = ‘123456’
sha1.update(data.encode(‘utf-8’))
sha1_data = sha1.hexdigest()
print(sha1_data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值