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 相关文章推荐
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
Python实现的数据结构与算法之双端队列详解
Apr 22 Python
Python3使用requests登录人人影视网站的方法
May 11 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
Django获取应用下的所有models的例子
Aug 30 Python
pygame实现五子棋游戏
Oct 29 Python
django框架forms组件用法实例详解
Dec 10 Python
Python JSON编解码方式原理详解
Jan 20 Python
python处理json数据文件
Apr 11 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中feof()函数实例测试
2014/08/23 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
Dom在ajax技术中的作用说明
2010/10/25 Javascript
javascript定义函数的方法
2010/12/06 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
javascript特殊文本输入框网页特效
2016/09/13 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
详解webpack babel的配置
2018/01/09 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
Django中URLconf和include()的协同工作方法
2015/07/20 Python
python搭建微信公众平台
2016/02/09 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python3实现mysql导出excel的方法
2019/07/31 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
护理助产毕业生的求职信
2014/03/02 职场文书
党员干部承诺书范文
2014/03/25 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android
关于 Python json中load和loads区别
2021/11/07 Python