Python3使用requests包抓取并保存网页源码的方法


Posted in Python onMarch 15, 2016

本文实例讲述了Python3使用requests包抓取并保存网页源码的方法。分享给大家供大家参考,具体如下:

使用Python 3的requests模块抓取网页源码并保存到文件示例:

import requests
html = requests.get("http://www.baidu.com")
with open('test.txt','w',encoding='utf-8') as f:
 f.write(html.text)

这是一个基本的文件保存操作,但这里有几个值得注意的问题:

1.安装requests包,命令行输入pip install requests即可自动安装。很多人推荐使用requests,自带的urllib.request也可以抓取网页源码

2.open方法encoding参数设为utf-8,否则保存的文件会出现乱码。

3.如果直接在cmd中输出抓取的内容,会提示各种编码错误,所以保存到文件查看。

4.with open方法是更好的写法,可以自动操作完毕后释放资源。

另一个例子:

import requests
ff = open('testt.txt','w',encoding='utf-8')
with open('test.txt',encoding="utf-8") as f:
 for line in f:
 ff.write(line)
ff.close()

这是演示读取一个txt文件,每次读取一行,并保存到另一个txt文件中的示例。

因为在命令行中打印每次读取一行的数据,中文会出现编码错误,所以每次读取一行并保存到另一个文件,这样来测试读取是否正常。(注意open的时候制定encoding编码方式)

转自:小谈博客 http://www.tantengvip.com/2015/05/requests-html/

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
在Python中操作字典之clear()方法的使用
May 21 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
python版学生管理系统
Jan 10 Python
10招!看骨灰级Pythoner玩转Python的方法
Apr 15 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
python:批量统计xml中各类目标的数量案例
Mar 10 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
Python logging模块进行封装实现原理解析
Aug 07 Python
python递归函数用法详解
Oct 26 Python
Python减少循环层次和缩进的技巧分析
Mar 15 #Python
Python作用域用法实例详解
Mar 15 #Python
Python的净值数据接口调用示例分享
Mar 15 #Python
Python简单连接MongoDB数据库的方法
Mar 15 #Python
Python函数中的函数(闭包)用法实例
Mar 15 #Python
实例讲解Python中函数的调用与定义
Mar 14 #Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 #Python
You might like
Smarty结合Ajax实现无刷新留言本实例
2007/01/02 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
2012/12/26 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
浅析Python中的多重继承
2015/04/28 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
基于python3的socket聊天编程
2020/02/17 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
打架检讨书100字
2014/01/19 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
2015年财政局工作总结
2015/05/21 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记