这是自己学习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有着更为强大的功能等待着我去开发和学习。
最终应用!!!