Python练习01--下载百度贴吧图片

这是自己学习Python以来,第一次实战编写的一个小功能。
循序渐进,分三个阶段。
第一阶段,只是单纯的获取贴吧某页面的图片链接

import requestsfrom bs4 
import BeautifulSoup
url='http://tieba.baidu.com/p/3990192462'
wb_data=requests.get(url)
soup=BeautifulSoup(wb_data.text,'lxml')#获取这个帖子下,正文中图片链接。
links=soup.select('img.BDE_Image')for link in links:    
clink=link.get('src')    
print(clink)

第二阶段,我添加了下载该页面图片到本地电脑的功能。

import requests,urllib.requestfrom bs4 
import BeautifulSoup

url='http://tieba.baidu.com/p/3990192462'
path='/Users/pro/Desktop/picture/'
 # picture 后面是否加上"/",就会得到不一样的下载结果,细节很关键。

wb_data=requests.get(url)
soup=BeautifulSoup(wb_data.text,'lxml')
#获取这个帖子下,正文中图片链接。
links=soup.select('img.BDE_Image')
for link in links:   
  clink=link.get('src')    
  print(clink)   
 #下载图片    
  urllib.request.urlretrieve(clink,path+clink[-10:])
  print("Done")

'''Python中,mac系统下,如何查看文件的绝对路径?答:打开mac终端,复制文件粘贴进去,就能得到该文件的绝对路径。其次,注意,mac系统下的文件路径都是 英文!'''

第三阶段,我又添加了新功能。这个帖子,一共4页。我要实现一键下载4页中的图片到我的本地电脑中。

import requests,urllib.request,time
from bs4 import BeautifulSoup

url='http://tieba.baidu.com/p/3990192462?pn=1' #这是起始页,一共4页。
path='/Users/pro/Desktop/picture/' # picture 后面是否加上"/",就会得到一样的下载结果,细节很关键。
def download_pic_from(url):
    wb_data = requests.get(url)
    soup = BeautifulSoup(wb_data.text, 'lxml')
# 获取这个帖子下,正文中图片链接。
    links = soup.select('img.BDE_Image') 
    for link in links:
      clink = link.get('src')
      print(clink) 
      # 下载图片
      urllib.request.urlretrieve(clink, path + clink[-10:])
      print("Done")
def get_more_pages(start,end):
    for one in range(start,end):  
      url2="http://tieba.baidu.com/p/3990192462?pn={}".format(one)
      download_pic_from(url2)
      time.sleep(2)

get_more_pages(1,8)

能实现这样的功能,说明我进步了,不过,该实例也只能说明一点点小进步而已,功能过于简单,我相信Python有着更为强大的功能等待着我去开发和学习。

最终应用!!!

你可能感兴趣的:(Python练习01--下载百度贴吧图片)