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使用urllib2实现发送带cookie的请求
Apr 28 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
python3+PyQt5泛型委托详解
Apr 24 Python
django 删除数据库表后重新同步的方法
May 27 Python
python实现飞机大战微信小游戏
Mar 21 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
numpy.array 操作使用简单总结
Nov 08 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
python关于倒排列的知识点总结
Oct 13 Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 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
超级简单的发送邮件程序
2006/10/09 PHP
php adodb连接不同数据库
2009/03/19 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
广告显示判断
2006/08/31 Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
google 搜索框添加关键字实现代码
2010/04/24 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
python中的变量如何开辟内存
2018/06/26 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
python lxml中etree的简单应用
2019/05/10 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
Python 防止死锁的方法
2020/07/29 Python
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
股东合作协议书
2014/09/12 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
努力学习保证书
2015/02/26 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
对Golang中的FORM相关字段理解
2021/05/02 Golang
MySQL学习必备条件查询数据
2022/03/25 MySQL