Python3实现Web网页图片下载

Python3实现Web网页图片下载,第1张

概述先来介绍一些pythonweb编程基础知识1.GET与POST区别1)POST是被设计用来向web服务器上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服

先来介绍一些python web编程基础知识

1. GET与POST区别

1)POST是被设计用来向web服务器上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.POST的信息作为http 请求的内容,而GET是在http 头部传输的;

2)POST与GET在http 中传送的方式不同,GET的参数是在http 的头部传送的,而Post的数据则是在http 请求的内容里传送;

3)POST传输数据时,不需要在URL中显示出来,而GET方法要在URL中显示;

4)GET方法由于受到URL长度的限制,只能传递大约1024字节;POST传输的数据量大,可以达到2M

2. cookies技术

cookies现在经常被大家提到,那么到底什么是cookies,它有什么作用 呢?

cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。cookies是当你浏览某网站 时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。

当你再次来到该网站时,网站通过读取cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。

从本质上讲,它可以看作是你的身份z。但cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。

保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。

一个网站只能取得它放在你的电脑中的信息,它无法从其它的cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。

cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。

python3通过Web网页图片下载基本功能点

要实现的主要功能点: 解析网页中的图片链接 对图片链接进行检测,如果图片格式 图片大小不符合要求,则不下载 加入异常处理机制 自动文件名提取,从图片链接直接提取文件名

python3通过Web网页图片下载参考代码:

from urllib import requestimport threadingfrom time import sleep,ctimefrom HTML import parserdef downjpg( filepath,filename ="default.jpg" ): try:  web = request.urlopen( filepath)  print("访问网络文件"+filepath+"\n")  jpg = web.read()  DstDir="E:\image\"  print("保存文件"+DstDir+filename+"\n")  try:   file = open( DstDir+filename,"wb" )   file.write( jpg)   file.close()   return  except IOError:   print("error\n")   return except Exception:  print("error\n")  returndef downjpgmutithread( filepathList ): print("共有%d个文件需要下载"%len(filepathList)) for file in filepathList:  print( file ) print("开始多线程下载") task_threads=[] #存储线程 count=1 for file in filepathList:  t= threading.Thread( target=downjpg,args=(file,"%d.jpg"%count) )  count=count+1  task_threads.append(t) for task in task_threads:  task.start() for task in task_threads:  task.join() #等待所有线程结束 print("线程结束")class parserlinks( parser.HTMLParser): fileList=[] def handle_starttag(self,tag,attrs):  if tag == 'img':   for name,value in attrs:    if name == 'src':     print( value)     self.fileList.append(value)     #print( self.get_starttag_text() ) def getfileList(self):  return self.fileListdef main(WebUrl): #globals fList if __name__ == "__main__":  lparser = parserlinks()  web = request.urlopen( WebUrl )  #context= web.read()  for context in web.readlines():   _str="%s"%context   try:    lparser.Feed( _str)   except parser.HTMLParseError:    #print( "parser error")    pass  web.close()  imageList= lparser.getfileList()  downjpgmutithread( imageList)    #downjpgmutithread( fList)#WebUrl="http://www.baIDu.com/" #要抓去的网页链接,默认保存到e盘WebUrl="http://hi.baIDu.com/yuyinxuezi/item/df0b59140a06be27f6625cd4"main(WebUrl)

以上就是python3实现Web网页图片下载的相关介绍,希望对大家的学习有所帮助。

总结

以上是内存溢出为你收集整理的Python3实现Web网页图片下载全部内容,希望文章能够帮你解决Python3实现Web网页图片下载所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1204817.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存