python3使用requests包抓取并保存网页源码
来源:互联网 发布:smartgit linux 安装 编辑:程序博客网 时间:2024/06/15 11:57
转载自:http://blog.csdn.net/w93223010/article/details/18968081
近期的工作学习中使用到了Python,分享一些初学者的心得与君共勉。
本节的内容主要是如何使用python去获取网页的源代码并存储到本地文件中,希望通过本节可以让你略微了解到python的神奇。
先上代码:
import urllib.request def getPage(url): request = urllib.request.Request(url) response = urllib.request.urlopen(request) return response.read().decode("utf-8") url='http://www.kntpb.com/' result=getPage(url) print (result)
第1行导入了必要的包
第2至6\5行定义了一个函数,目的是向指定url发送http请求,并将网页的源代码返回
最后把获得的源码进行展示
在命令行执行代码的话,可以看到类似图1-1的一堆html代码,即为成功。
图1-1
可以用浏览器访问一下代码中的url,可以看到类似图1-2的ebay的网站。(为了逃避中文字符的处理,所以选择了英文的网站)
图1-2
而在浏览的网页的空白处单击右键,选择“查看网页源代码”,可以看到类似图1-3的的html源码,实际上与图1-1中是一样的。
图1-3
修改一下代码,将获取的html源码写入本地的文件。
第10至12行进行了文件操作,在D盘创建了result.html文件并将result变量中的内容写入其中。
作为一个购物网站,大部分类型的商品都是分很多页的,接下来继续修改代码,让它能够取出前5页的内容,分别写入5个文件中。
第8行修改了url字符串的结尾部分,删除了“&_pgn=1”,并将其作为后面循环的参数
第10至17行做了一个0至4的循环(当然你也可以设置成1到5),其中第11行和16行仅是跟踪代码,用以显示当前读到的页数。第12行的实参将循环变量p组合进去,达到获取不同页html源码的作用。
第18行结束文件操作,关闭所用资源。
程序在命令行执行后,最后一行显示“==5====end==”,并在D盘生成如图1-4的,文件大小近似的5个html文件即为成功。
图1-4
==========================================以下是之前的笔记=====================================
本文实例讲述了Python3使用requests包抓取并保存网页源码的方法。分享给大家供大家参考,具体如下:
使用Python 3的requests模块抓取网页源码并保存到文件示例:
这是一个基本的文件保存操作,但这里有几个值得注意的问题:
1.安装requests包,命令行输入pip install requests即可自动安装。很多人推荐使用requests,自带的urllib.request也可以抓取网页源码
2.open方法encoding参数设为utf-8,否则保存的文件会出现乱码。
3.如果直接在cmd中输出抓取的内容,会提示各种编码错误,所以保存到文件查看。
4.with open方法是更好的写法,可以自动操作完毕后释放资源。
另一个例子:
这是演示读取一个txt文件,每次读取一行,并保存到另一个txt文件中的示例。
因为在命令行中打印每次读取一行的数据,中文会出现编码错误,所以每次读取一行并保存到另一个文件,这样来测试读取是否正常。(注意open的时候制定encoding编码方式)
转自:小谈博客 http://www.tantengvip.com/2015/05/requests-html/
- python3使用requests包抓取并保存网页源码
- nodejs抓取网页的源码,并保存到本地文件
- node http fs 实现 抓取网页源码并保存
- Python使用requests来抓取网页
- Python3.0抓取中文网页并保存在本地的方法
- Python3 requests包学习
- libcurl抓取网页并保存cookie
- java 抓取网页图片并保存
- Python抓取网页并保存为PDF
- 使用 Python3 抓取网页的简单范例
- Python3爬虫(二)保存抓取网页的html
- window下使用curl库保存网页源码并显示
- 利用python3 requests和BeautifulSoup4抓取百度贴吧研究生录取通知书并展示
- python3学习-requests使用
- Python3抓取网页图片
- Python3网页抓取urllib
- Python3之requests模块抓取内容乱码
- requests获取保存网页代码
- iOS多线程编程——GCD与NSOperation总结
- 微信朋友圈,QQ空间,微博等列表展示的功能实现
- 常用插件--bootstrap3-dialog
- WPF不同线程之间的控件的访问
- 第10周作业1(LeetCode1)
- python3使用requests包抓取并保存网页源码
- Linux虚拟网络之tun(三)隔离网络下的Raw转发
- 452. Minimum Number of Arrows to Burst Balloons Java解法
- ImageLoader使用及源码解析
- RadioButton动态设置Margin
- java 如果文件目录不存在就创建再写文件的代码实例--针对“系统找不到指定的路径”问题。
- mybatis 在select语句中使用foreach语句报错
- 18 QT里的摄像头编程
- 矩阵最大值(解题报告)