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入门教程 python入门神图一张
Mar 05 Python
PyQt5每天必学之进度条效果
Apr 19 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
Jun 19 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
pytorch:model.train和model.eval用法及区别详解
Feb 20 Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
python能在浏览器能运行吗
Jun 17 Python
pandas时间序列之pd.to_datetime()的实现
Jun 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
php连接Access数据库错误及解决方法
2013/06/20 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
用按钮控制iframe显示的网页实现方法
2013/02/04 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python中str.format()详解
2017/03/12 Python
python实现八大排序算法(1)
2017/09/14 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
python如何写try语句
2020/07/14 Python
会计专业大学生求职信范文
2014/01/28 职场文书
高中军训感想300字
2014/03/04 职场文书
内勤主管岗位职责
2014/04/03 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
个人作风建设心得体会
2014/10/22 职场文书
婚育证明格式
2015/06/17 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang