Python使用requests模块爬取百度翻译


Posted in Python onAugust 25, 2020

requests模块:

python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。

作用:模拟浏览器发请求。

提示:老版使用 urllib模块,但requests比urllib模块要简单好用,现在学习requests模块即可!

requests模块编码流程

指定url

1.1 UA伪装

1.2 请求参数的处理

2.发起请求

3.获取响应数据

4.持久化存储

环境安装:

pip install requests

案例一:破解百度翻译(post请求)

1.代码如下:

#爬取百度翻译
#导入模块
import requests
import json

#UA伪装:将对应的User-Agent封装到一个字典中
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
           'Chrome/57.0.2987.98 Safari/537.36'}

  #网页访问连接
 url='https://fanyi.baidu.com/sug'
 #处理url携带的参数:封装到字典中
word=input("input a word: ")
data={
  'kw': word
}

#请求发送
res=requests.post(url=url,data=data,headers=headers)
#获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型的,才可以使用json())
dic_obj=res.json()

#持久化存储
filename=word+'.json'
fp=open(filename,'w',encoding='utf-8')
json.dump(dic_obj,fp=fp,ensure_ascii=False)

#打印完成提示
print('finish')

其中:

https://fanyi.baidu.com/sug 这个url的定位如下图:

Python使用requests模块爬取百度翻译

2.运行结果

Python使用requests模块爬取百度翻译

Python使用requests模块爬取百度翻译

案例二:爬取搜狗页面数据(get请求)

1.代码如下

import requests
if __name__ == "__main__":
  #step_1:指定url
  url = 'https://www.sogou.com/'
  #step_2:发起请求
  #get方法会返回一个响应对象
  response = requests.get(url=url)
  #step_3:获取响应数据.text返回的是字符串形式的响应数据
  page_text = response.text
  print(page_text)
  #step_4:持久化存储
  with open('./sogou.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
  print('爬取数据结束!!!')

2.运行结果如下:

Python使用requests模块爬取百度翻译

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现可将字符转换成大写的tcp服务器实例
Apr 29 Python
在Python中移动目录结构的方法
Jan 31 Python
python3使用urllib模块制作网络爬虫
Apr 08 Python
python妙用之编码的转换详解
Apr 21 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
将Python字符串生成PDF的实例代码详解
May 17 Python
numpy.linspace函数具体使用详解
May 27 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
Python爬虫使用bs4方法实现数据解析
Aug 25 #Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 #Python
Python Selenium实现无可视化界面过程解析
Aug 25 #Python
一文读懂Python 枚举
Aug 25 #Python
详解python变量与数据类型
Aug 25 #Python
python获取百度热榜链接的实例方法
Aug 25 #Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 #Python
You might like
php读取html并截取字符串的简单代码
2009/11/30 PHP
初识laravel5
2015/03/02 PHP
PHP实现通过strace定位故障原因的方法
2018/04/29 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
2018/09/13 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
深入Python函数编程的一些特性
2015/04/13 Python
python中__slots__用法实例
2015/06/04 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
公司户外活动总结
2014/07/04 职场文书
求职自荐信怎么写
2015/03/04 职场文书
Python中rapidjson参数校验实现
2021/07/25 Python