Python爬虫实战(2)之爬取NBA球队各个球员头像图片

1.目标页面

Python爬虫实战(2)之爬取NBA球队各个球员头像图片_第1张图片

2.页面分析

1.每个队的球员列表都在 class=“team_name”的span下的a标签的href下
在这里插入图片描述
2.每个球员的头像图标url 为 class=“td_padding”的td 下的a标签的 img的src
在这里插入图片描述
3.每个球员的姓名为 class=“left”下的b的a标签内(作为图片名称)
在这里插入图片描述

3.代码

from bs4 import  BeautifulSoup
import requests

######保存图片函数##########################
def saveImg(myurl):
    '''
    1.请求页面
    2.用返回内容创建soup对象
    3.获取球员名称放入 namelist
    4.获取球员图标src连接放入 srclist
    5.进行图片保存
       5.1对src链接进行request
       5.2将返回的数据写入以球员  名字.jpg  命名的文件中
    '''
    # 1.请求页面
    thtml = requests.get(myurl)
    # 2.用返回内容创建soup对象
    tsoup = BeautifulSoup(thtml.content, 'lxml')
    # 3.获取球员名称放入 namelist
    allname = tsoup.select("td.left > b >a")
    namelist=[]
    for tname in allname:
        namelist.append(tname.text)
    #### print(namelist)
    # 4.获取球员图标src连接放入 srclist
    allsrc=tsoup.select("td.td_padding > a >img")
    srclist=[]
    for tsrc in allsrc:
        srclist.append(tsrc.get("src"))
    ##print(srclist)
    # 5.进行图片保存
    #    5.1对src链接进行request
    for i in range(0,len(srclist)):
        data=requests.get(srclist[i])
    # 5.2将返回的数据写入以球员  名字.jpg  命名的文件中
        path='image/'+namelist[i]+".jpg"
        file=open(path,"wb")
        file.write(data.content)


url="https://nba.hupu.com/players"  ##这是主界面
header={
"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.1.0.14126"
}
urls=[]  ##用来存储各个队的球员列表所在的 网址
html=requests.get(url,headers=header)
soup=BeautifulSoup(html.content,"lxml")
##1.获取所有球队页面所在的url地址
allurl=soup.select("span.team_name > a")
for t in allurl:
    urls.append(t.get("href"))
##print(urls)
#############以上是为了获取目标网址####################
for turl in urls:
    saveImg(turl)




4.结果

Python爬虫实战(2)之爬取NBA球队各个球员头像图片_第2张图片

你可能感兴趣的:(Python爬虫基础)