最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)下載指定網(wǎng)址所有圖片的方法

 更新時間:2015年08月08日 12:25:37   作者:皮蛋  
這篇文章主要介紹了python實現(xiàn)下載指定網(wǎng)址所有圖片的方法,涉及Python針對頁面的讀取、遍歷及文件操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了python實現(xiàn)下載指定網(wǎng)址所有圖片的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

#coding=utf-8
#download pictures of the url
#useage: python downpicture.py www.baidu.com
import os
import sys
from html.parser import HTMLParser
from urllib.request import urlopen
from urllib.parse import urlparse
def getpicname(path):
  '''  retrive filename of url    '''
  if os.path.splitext(path)[1] == '':
    return None
  pr=urlparse(path)
  path='http://'+pr[1]+pr[2]
  return os.path.split(path)[1]
def saveimgto(path, urls):
  '''
  save img of url to local path
  '''
  if not os.path.isdir(path):
    print('path is invalid')
    sys.exit()
  else:
    for url in urls:
      of=open(os.path.join(path, getpicname(url)), 'w+b')
      q=urlopen(url)
      of.write(q.read())
      q.close()
      of.close()
class myhtmlparser(HTMLParser):
  '''put all src of img into urls'''
  def __init__(self):
    HTMLParser.__init__(self)
    self.urls=list()
    self.num=0
  def handle_starttag(self, tag, attr):
    if tag.lower() == 'img':
      srcs=[u[1] for u in attr if u[0].lower() == 'src']
      self.urls.extend(srcs)
      self.num = self.num+1
if __name__ == '__main__':
  url=sys.argv[1]
  if not url.startswith('http://'):
    url='http://' + sys.argv[1]
  parseresult=urlparse(url)
  domain='http://' + parseresult[1]
  q=urlopen(url)
  content=q.read().decode('utf-8', 'ignore')
  q.close()
  myparser=myhtmlparser()
  myparser.feed(content)
  for u in myparser.urls:
    if (u.startswith('//')):
      myparser.urls[myparser.urls.index(u)]= 'http:'+u
    elif u.startswith('/'):
      myparser.urls[myparser.urls.index(u)]= domain+u
  saveimgto(r'D:\python\song', myparser.urls)
  print('num of download pictures is {}'.format(myparser.num))

運行結(jié)果如下:

num of download pictures is 19

希望本文所述對大家的Python程序設(shè)計有所幫助。

相關(guān)文章

  • 對python中Json與object轉(zhuǎn)化的方法詳解

    對python中Json與object轉(zhuǎn)化的方法詳解

    今天小編就為大家分享一篇對python中Json與object轉(zhuǎn)化的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • DataFrame窗口函數(shù)rolling()的用法

    DataFrame窗口函數(shù)rolling()的用法

    這篇文章主要介紹了DataFrame窗口函數(shù)rolling()的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python如何實現(xiàn)API的調(diào)用詳解

    python如何實現(xiàn)API的調(diào)用詳解

    Web?API是網(wǎng)站的一部分,用于與使用非常具體的URL請求特定信息的程序交互,下面這篇文章主要給大家介紹了關(guān)于python實現(xiàn)API的快速調(diào)用指南,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • python登陸asp網(wǎng)站頁面的實現(xiàn)代碼

    python登陸asp網(wǎng)站頁面的實現(xiàn)代碼

    這篇文章主要介紹了python登陸asp網(wǎng)站頁面的實現(xiàn)代碼,需要的朋友可以參考下
    2015-01-01
  • 使用Python刪除列表中重復(fù)元素的幾種方法小結(jié)

    使用Python刪除列表中重復(fù)元素的幾種方法小結(jié)

    在 Python 編程中,我們經(jīng)常會遇到列表中存在重復(fù)元素的情況,為了數(shù)據(jù)處理和分析的準確性,我們需要對這些重復(fù)元素進行清理,本文將介紹幾種使用 Python 刪除列表中重復(fù)元素的方法,并比較它們的優(yōu)缺點,需要的朋友可以參考下
    2025-04-04
  • Django使用Celery實現(xiàn)異步發(fā)送郵件

    Django使用Celery實現(xiàn)異步發(fā)送郵件

    這篇文章主要為大家詳細介紹了Django如何使用Celery實現(xiàn)異步發(fā)送郵件的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-04-04
  • python爬蟲模塊URL管理器模塊用法解析

    python爬蟲模塊URL管理器模塊用法解析

    這篇文章主要介紹了python爬蟲模塊URL管理器模塊用法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • python信號量,條件變量和事件詳解

    python信號量,條件變量和事件詳解

    這篇文章主要為大家介紹了python的信號量,條件變量和事件,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • pycharm遠程linux開發(fā)和調(diào)試代碼的方法

    pycharm遠程linux開發(fā)和調(diào)試代碼的方法

    這篇文章主要介紹了pycharm遠程linux開發(fā)和調(diào)試代碼的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Django框架的使用教程路由請求響應(yīng)的方法

    Django框架的使用教程路由請求響應(yīng)的方法

    這篇文章主要介紹了Django框架的使用教程路由請求響應(yīng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

田阳县| 十堰市| 南乐县| 武隆县| 苏尼特右旗| 盈江县| 杨浦区| 福清市| 县级市| 宁海县| 湖口县| 汶川县| 阜康市| 游戏| 克山县| 长垣县| 凌云县| 那曲县| 景泰县| 观塘区| 育儿| 乐都县| 奎屯市| 安丘市| 诸暨市| 永吉县| 峨边| 鄯善县| 西乡县| 永福县| 桐梓县| 德兴市| 黄浦区| 和平区| 洪雅县| 综艺| 建德市| 库伦旗| 武山县| 鄂伦春自治旗| 通城县|