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 相关文章推荐
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
python机器学习之神经网络(二)
Dec 20 Python
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
Mar 19 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
python 实现两个npy档案合并
Jul 01 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
Nov 06 Python
Django2.1.7 查询数据返回json格式的实现
Dec 29 Python
如何用Python和JS实现的Web SSH工具
Feb 23 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
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python列表append和+的区别浅析
2015/02/02 Python
神经网络python源码分享
2017/12/15 Python
Python实现通讯录功能
2018/02/22 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
python数值基础知识浅析
2019/11/19 Python
Tensorflow累加的实现案例
2020/02/05 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
python绘制趋势图的示例
2020/09/17 Python
用纯css3和html制作泡沫对话框实现代码
2013/03/21 HTML / CSS
演讲稿的写法
2014/05/19 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书