python3使⽤requests包抓取并保存⽹页源码
近期的⼯作学习中使⽤到了,分享⼀些初学者的⼼得与君共勉。
本节的内容主要是如何使⽤去获取⽹页的源代码并存储到本地⽂件中,希望通过本节可以让你略微了解到python的神奇。
先上代码:
quest
def getPage(url):
request = quest.Request(url)
response = quest.urlopen(request)
ad().decode("utf-8")
url='www.kntpb/'
result=getPage(url)
print (result)
第1⾏导⼊了必要的包
第2⾄6\5⾏定义了⼀个函数,⽬的是向指定url发送http请求,并将⽹页的源代码返回
最后把获得的源码进⾏展⽰
在命令⾏执⾏代码的话,可以看到类似图1-1的⼀堆html代码,即为成功。
图1-1
可以⽤浏览器访问⼀下代码中的url,可以看到类似图1-2的ebay的⽹站。(为了逃避中⽂字符的处理,所以选择了英⽂的⽹站)
⽽在浏览的⽹页的空⽩处单击右键,选择“查看⽹页源代码”,可以看到类似图1-3的的html源码,实际上与图1-1中是⼀样的。
修改⼀下代码,将获取的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 包抓取并保存⽹页源码的⽅法,实例分析了Python3环境下requests 模块的相关使⽤技巧,需要的朋友可以参考下本⽂实例讲述了Python3使⽤requests 包抓取并保存⽹页源码的⽅法。分享给⼤家供⼤家参考
,具体如下:
使⽤Python 3的requests 模块抓取⽹页源码并保存到⽂件⽰例:[python]
01. import  urllib  02. import  urllib2  03. def  getPage(url):    04.    request = urllib2.Request(url)  05.    response = urllib2.urlopen(request)  06.    return  ad()  07.      08.
url='www.ebay/sch/TShirts-/15687/i.html?Style=Basic%2520Tee&_dcat=15687&Color=Black&_pgn=1'  09. result=getPage(url)  10. txt='D:\\result.html'  11.    f = open(txt,"w+")  12.    f.write(result)  [python]
01. import  urllib  02. import  urllib2  03. def  getPage(url):    04.    request = urllib2.Request(url)  05.    response = urllib2.urlopen(request)  06.    return  ad()  07.      08.
url='www.ebay/sch/TShirts-/15687/i.html?Style=Basic%2520Tee&_dcat=15687&Color=Black'  09. p=0  10. while  p<5:  11.    print  ' =='+str(p+1)+'==start=='  12.    result=getPage(url+'&_pgn='+str(p+1))  13.    txt='D:\\result'+str(p+1)+'.html'  14.        f = open(txt,"w+")  15.        f.write(result)  16.    print  ' =='+str(p+1)+'====end=='  17.    p=p+1  18.    f.close()
import requests
html = ("www.baidu")
with open('','w',encoding='utf-8') as f:
f.)
这是⼀个基本的⽂件保存操作,但这⾥有⼏个值得注意的问题:
1.安装requests包,命令⾏输⼊pip install requests即可⾃动安装。很多⼈推荐使⽤requests ,⾃带的quest也可以抓取⽹页源码
2.open⽅法encoding参数设为utf-8,否则保存的⽂件会出现乱码。
3.如果直接在cmd中输出抓取的内容,会提⽰各种编码错误,所以保存到⽂件查看。
4.with open⽅法是更好的写法,可以⾃动操作完毕后释放资源。
另⼀个例⼦:
import requests
ff = open('','w',encoding='utf-8')
with open('',encoding="utf-8") as f:
for line in f:
ff.write(line)
如何查看html代码ff.close()
这是演⽰读取⼀个txt⽂件,每次读取⼀⾏,并保存到另⼀个txt⽂件中的⽰例。
因为在命令⾏中打印每次读取⼀⾏的数据,中⽂会出现编码错误,所以每次读取⼀⾏并保存到另⼀个⽂件,这样来测试读取是否正常。(注意open的时候制定encoding编码⽅式)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。