requests获取保存网页代码
来源:互联网 发布:阿里云最便宜的服务器 编辑:程序博客网 时间:2024/06/05 15:03
Python,分享一些初学者的心得与君共勉。
内容主要是如何使用python去获取网页的源代码并存储到本地文件中
先上代码:
import requestsdef gethtml(url): req=requests.get(url) html=req.text print(html)url = 'http://www.youku.com'gethtml(url)
第1行导入了必要的模块
第2至5行定义了一个函数,目的是向指定url发送http请求,并将网页的源代码返回
最后把获得的源码进行展示
而在浏览的网页的空白处单击右键,选择“查看网页源代码”,可以看到的html源码,实际上是一样的。
修改一下代码,将获取的html源码写入本地的文件。
方法一:
import requestsdef getUrl(url): r= requests.get(url) txt=r.text f = open('file2.html', 'x', encoding='utf-8') f.write(txt)url = 'http://www.youku.com'getUrl(url)
方法二:
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 text = open('testt.txt','w',encoding='utf-8') with open('test.txt',encoding="utf-8") as f: for line in f: text.write(line) text.close()
这是演示读取一个txt文件,每次读取一行,并保存到另一个txt文件中的示例。
因为在命令行中打印每次读取一行的数据,中文会出现编码错误,所以每次读取一行并保存到另一个文件,这样来测试读取是否正常。(注意open的时候制定encoding编码方式)
作为一个购物网站,大部分类型的商品都是分很多页的,接下来继续修改代码,让它能够取出前5页的内容,分别写入5个文件中。
[python] view plain copyimport urllib import urllib2 def getPage(url): request = urllib2.Request(url) response = urllib2.urlopen(request) return response.read() url='http://www.ebay.com/sch/TShirts-/15687/i.html?Style=Basic%2520Tee&_dcat=15687&Color=Black' p=0 while p<5: print ' =='+str(p+1)+'==start==' result=getPage(url+'&_pgn='+str(p+1)) txt='D:\\result'+str(p+1)+'.html' f = open(txt,"w+") f.write(result) print ' =='+str(p+1)+'====end==' p=p+1 f.close()
第8行修改了url字符串的结尾部分,删除了“&_pgn=1”,并将其作为后面循环的参数
第10至17行做了一个0至4的循环(当然你也可以设置成1到5),其中第11行和16行仅是跟踪代码,用以显示当前读到的页数。第12行的实参将循环变量p组合进去,达到获取不同页html源码的作用。
第18行结束文件操作,关闭所用资源。
- requests获取保存网页代码
- python requests获取网页乱码
- 禁止网页保存代码
- python3使用requests包抓取并保存网页源码
- 获取网页内容,并保存
- Python篇----Requests获取网页源码(爬虫基础)
- Python篇----Requests获取网页源码(爬虫基础)
- 用php实现的获取网页中的图片并保存到本地的代码
- WebClient获取网页代码
- android 获取网页代码
- python3 获取网页内容保存到文件
- java获取网页内容保存到文件
- 网页禁止保存复制代码大全
- 读取网页页面代码 并保存
- 网页禁止保存复制代码大全
- 网页禁止保存复制代码大全
- 网页禁止保存复制代码大全
- 网页禁止保存复制代码大全
- Angular JS 添加、删除、查询
- 背包九讲(附Cpp代码)
- javadoc生成帮助文档的时候,有哪些命名行开关?
- 被误解的int(10)
- 购物车
- requests获取保存网页代码
- LightOj-1028-Trailing Zeroes (I)
- AS3摄像头拍照保存到本地
- 二叉堆的添加及删除元素方法实现
- HLSL基本知识
- C3P0数据连接池的配置文件c3p0-config.xml
- vue实例中的data中的值,无法更新视图
- CoreData的基本使用
- LeetCode——496. Next Greater Element I(栈应用)