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服务器批量修改密码并生成execl
Apr 22 Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 Python
Python获取SQLite查询结果表列名的方法
Jun 21 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
python实现flappy bird小游戏
Dec 24 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
关于python字符串方法分类详解
Aug 20 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
Python参数传递对象的引用原理解析
May 22 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
分析Python list操作为什么会错误
Nov 17 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
thinkphp浏览历史功能实现方法
2014/10/29 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
javascript读取RSS数据
2007/01/20 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
js调试工具console.log()方法查看js代码的执行情况
2014/08/08 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
在Django的通用视图中处理Context的方法
2015/07/21 Python
python更新列表的方法
2015/07/28 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
flask-restful使用总结
2018/12/04 Python
python将list转为matrix的方法
2018/12/12 Python
python可视化实现KNN算法
2019/10/16 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Python grpc超时机制代码示例
2020/09/14 Python
python Paramiko使用示例
2020/09/21 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
奥巴马胜选演讲稿
2014/05/15 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang