博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
requests模块
阅读量:4698 次
发布时间:2019-06-09

本文共 1707 字,大约阅读时间需要 5 分钟。

必知知识点

-常见请求头

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

-常见响应头

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

-https协议的加密方式

对称秘钥(容易被拦截)

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

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

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

使用requests:

自动处理url编码

自动处理post请求参数

简化cookie和代理操作

使用流程:

   指定url

   基于requests模块发起请求

   获取响应对象中的数据值

   持久化存储

实际案例:

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

import requestsurl = "http://www.sogou.com/web"wd = input('enter a word:')param = {    'query':wd}response = requests.get(url=url,params=param)page_text = response.contentfileName = wd+'.html'with open(fileName,'wb') as f:    f.write(page_text)    print('over')

# 豆瓣喜剧电影排行

import requestsurl = '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 requestsimport jsonurl = '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()

 

转载于:https://www.cnblogs.com/Wj-Li/p/10864895.html

你可能感兴趣的文章
工作笔记——前端分页数据回显
查看>>
test小结
查看>>
Apache 调用不同的 PHP 版本
查看>>
第三周总结
查看>>
流程控制与数组
查看>>
python循环导入的解决方案
查看>>
AngularJS中选择样式
查看>>
JDK的命令具体解释操作
查看>>
创建图书管理项目
查看>>
ie6 双边距问题
查看>>
Vue跨层级传递slot的方法
查看>>
暑假集训计划
查看>>
做个睿智的女人
查看>>
List遍历三种方法:1.for 2.增强性for 3.迭代器
查看>>
ArcGIS10.1发布WFS-T服务
查看>>
leetcode-汉明距离
查看>>
在Mac机器上给ITerm2配置lrzsz,便捷的传输文件到远程服务器上
查看>>
软工文档——系统、程序流程图、系统流图
查看>>
Hashtable的hashCode的使用以及toString的复写——《Thinking in Java》随笔024
查看>>
list remove object
查看>>