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实现rest请求api示例
Apr 22 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python读写配置文件的方法
Jun 03 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
一行代码让 Python 的运行速度提高100倍
Oct 08 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
Python检测数据类型的方法总结
May 20 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
Python API len函数操作过程解析
Mar 05 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 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 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php实现webservice实例
2014/11/06 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
JS OOP包机制,类创建的方法定义
2009/11/02 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
pandas 将索引值相加的方法
2018/11/15 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
工作过失检讨书
2014/02/23 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android