一、requests模块

requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。

1.1 模块介绍及请求过程

requests模块模拟浏览器发送请求

请求流程:指定url --> 发起请求 --> 获取响应对象中存储的数据 --> 持久化存储

1.2 爬取百度首页

#!/usr/bin/env python
# -*- coding:utf-8-*-import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
}
url = 'https://www.baidu.com/'response = requests.get(url=url)
response.encoding = 'utf-8'                         # 修改字符编码
page_text = response.text                           # 获取的类型为字符型<class 'str'>

with open('./baidu.html', mode='w', encoding='utf-8') as f:f.write(page_text)# page_text = response.content                       # 返回二进制数据类型 <class 'bytes'>
# response.status_code                               # 获取响应状态码
# response.headers['Content-Type'] == 'text/json'    # 类型是 'text/json' 则可以使用response.json方法
# response.json                                      # 如果响应头中存储了json数据,该方法可以返回json数据

1.3 爬取百度指定词条搜索后的页面数据

#!/usr/bin/env python
# -*- coding:utf-8-*-
import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
}
url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&'
kw = input('请输入要搜索的内容:')
param = {'wd': kw}
response = requests.get(url=url, params=param, headers=headers)page_text = response.content
fileName = kw+'.html'
with open(fileName, 'wb') as fp:fp.write(page_text)print(fileName+'爬取成功。')

1.4 获取百度翻译的翻译结果使用post方法

页面使用的ajax的请求方式,通过浏览器抓包得到请求的地址和提交From表单的内容。

#!/usr/bin/env python
# -*- coding:utf-8-*-import requestsheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
}
url = 'https://fanyi.baidu.com/sug'kw = input('请输入要翻译的内容:')
data = {'kw': kw
}
response = requests.post(url=url, data=data, headers=headers)
dic = response.json()
print(dic['data'])-----------------------------------执行结果--------------------------------------
请输入要翻译的内容:美女
[{'k': '美女', 'v': '[měi nǚ] beauty; belle; beautiful woman; femme fat'}, {'k': '美女与野兽', 'v': '名 Beauty and the Beast;'}, {'k': '美女蛇', 'v': 'merino;'}]
--------------------------------------------------------------------------------

1.5 爬取豆瓣电影排名电影

#!/usr/bin/env python
# -*- coding:utf-8-*-import requests
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36'
}url = 'https://movie.douban.com/j/chart/top_list'param = {'type': '5','interval_id': '100:90','action': '','start': '0','limit': '20'
}json_data = requests.get(url=url, headers=headers, params=param).json()print(json_data)

转载于:https://www.cnblogs.com/cyleon/p/10577791.html

python 网络爬虫requests模块相关推荐

  1. python网络爬虫应用_Python网络爬虫(requests模块应用1)

    一.什么是requests模块? requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位. 二.为什 ...

  2. 2021-11-03大数据学习日志——数据埋点+网络爬虫——requests 模块

    requests 是用 python 语言编写的一个开源的HTTP库,可以通过 requests 库编写 python 代码发送网络请求,其简单易用,是编写爬虫程序时必知必会的一个模块. reques ...

  3. Python网络爬虫requests、bs4爬取空姐图片,福利哦

    Scrapy框架很好,也提供了很多扩展点,可以自己编写中间件处理Scrapy的Request和Response.但是可定制化或者可掌控性来说,还是自己写的爬虫更加强一些. 接下来,我们来看一下使用Py ...

  4. Python网络爬虫-xpath模块

    一.正解解析 单字符:. : 除换行以外所有字符[] :[aoe] [a-w] 匹配集合中任意一个字符\d :数字 [0-9]\D : 非数字\w :数字.字母.下划线.中文\W : 非\w\s :所 ...

  5. Python 网络爬虫笔记1 -- Requests库

    Python 网络爬虫笔记1 – Requests库 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Pyt ...

  6. python网络爬虫教程(四):强大便捷的请求库requests详解与编程实战

    上一章中,我们了解了urllib的基本用法,详情可浏览如下链接python网络爬虫教程(三):详解urllib库,但其中确实有不方便的地方,为此,我们可以使用更方便更简洁的HTTP请求库request ...

  7. Python爬虫---requests模块的基本使用

    Python爬虫-requests模块的基本使用 基础 什么是爬虫? 就是通过编写程序模拟浏览器上网,然后让其去互联网上爬取数据的过程. 爬虫的分类 通用爬虫 抓取互联网中的一整张页面数据 聚焦爬虫 ...

  8. Python 网络爬虫笔记2 -- Requests库实战

    Python 网络爬虫笔记2 – Requests库实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:P ...

  9. python网络爬虫系列教程——python中requests库应用全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python中requests库的基础应用,网页数据挖掘的常用库之一.也就是说最主要的功能是从网页抓取数据. 使用前需要先联网安装reques ...

最新文章

  1. WebLogic集群案例分析
  2. unity3d优化总结篇
  3. emlog过滤html,Emlog 搜索优化 标题 + 全文搜索
  4. 【Kafka】Kafka Record for partition topic at offset xx is invalid, cause: Record corrupt
  5. .net 发送html邮件,c#利用system.net发送html格式邮件
  6. Android代码优化,主界面卡住
  7. mysql 8.0 ~ 安装
  8. cad二次开发程序的绿色安装
  9. PDF软件有这么好用的打印机,你知道吗?
  10. 程序设计c语言题解析,C语言程序设计试题及答案解析
  11. Centos下安装FastDFS
  12. 读《创业36条军规》(六)凡事只能靠自己
  13. [论文阅读]PIXER: an automated particle-selection method based on segmentation using deep neural network
  14. PowerVR 6系列架构分析
  15. Android 11.0 蓝牙的启用和禁用
  16. web远程桌面客户端_您所说的内容:桌面与基于Web的电子邮件客户端
  17. 智能制造的实现,少不了APS排产系统
  18. C# 网络编程之获取本机名、ip地址、域名、物理位置
  19. Seaborn系列| 绘制相关性热图(仅显示下三角相关性)
  20. Android 9/10 Launcher3 适配出现的问题修改

热门文章

  1. 中秋福利大放送!教你既可朝九晚五,又可诗和远方!
  2. 浏览器渲染流水线解析
  3. java中的strictfp的作用
  4. linux 删除文件反选
  5. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo...
  6. Sedawk笔记之awk篇:快速了解Awk(三)
  7. The Code Commandments: Best Practices for OCCoding
  8. Ubuntu使用notify-send 与 crontab 实现定时提醒
  9. svn钩子程序上传文件中文文件导致报错的处理办法
  10. FastReport人民币大写转换