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读取环境变量的方法和自定义类分享
Nov 22 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
Python 实现12306登录功能实例代码
Feb 09 Python
numpy中loadtxt 的用法详解
Aug 03 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
python实现逆滤波与维纳滤波示例
Feb 26 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
Python基于unittest实现测试用例执行
Nov 25 Python
python给list排序的简单方法
Dec 10 Python
Python深度学习之Pytorch初步使用
May 20 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
php源码的使用方法讲解
2019/09/26 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
Python @property原理解析和用法实例
2020/02/11 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
python关于倒排列的知识点总结
2020/10/13 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
医药大学生求职简历的自我评价
2013/10/17 职场文书
法定代表人授权委托书格式
2014/10/14 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
WIN10使用IIS部署ftp服务器详细教程
2022/08/05 Servers