• 下载所有新东方在太原的英语讲师照片


    # 
    
    import requests
    from bs4 import BeautifulSoup
    import shutil
    import string
    import os
    
    
    def get_img_url(url):
        img_url = []
        while True:
            resp = requests.get(url)
            soup = BeautifulSoup(resp.text, 'lxml')
    
            for dl in soup.select('dl[class="tea_list fix"]'):
                if '英语' in dl.select('p[class="h20"]')[0].text:
                    img_url.append([dl.select('img[id="imgNewLogoUrl"]')[0].get('title').strip(),
                                    dl.select('img[id="imgNewLogoUrl"]')[0].get('src')])
    
            if soup.select('a[class="nextlink"]'):
                url = 'http://souke.xdf.cn' + soup.select('a[class="nextlink"]')[0].get('href')
            else:
                print('跳出')
                break
        return img_url
    
    
    def get_img(url,fn):
        resp = requests.get(url, stream=True)
        #默认情况下是false,他会立即开始下载文件并存放到内存当中,
        #倘若文件过大就会导致内存不足的情况.
        #当把get函数的stream参数设置成True时,它不会立即开始下载,
        #需要注意一点:文件没有下载之前,它也需要保持连接。
        with open('头像{}.png'.format(fn), 'wb') as out_file:
            shutil.copyfileobj(resp.raw, out_file)
            #从类文件对象src到类文件对dst。可选参数length指定缓冲区的大小,
            #负数表示一次性读入。默认会把数据切分成小块拷贝,以免占用太多内存
        del resp
    
    
    if __name__ == '__main__':
        os.mkdir("头像")
        url_h = 'http://souke.xdf.cn/Teacher/21.html?teacherCode={}&pagesize=50'
    
        for letter in list(string.ascii_uppercase):
            #产生A-Z个字母,然后转化为列表
            print('page: ', letter)
            for name, url in get_img_url(url_h.format(letter)):
                #上一行代码将表明了,教师的排序是根据大写英文字母由低到高进行的。
                get_img(url, name)
    
        print('Done')
  • 相关阅读:
    与eolinker api集成
    为什么要用eolinker帮助API开发
    什么是Eolinekr
    使用Eolinker加快您的API开发
    java反射
    mybatis-查询过程
    mybatis初始化过程
    mybatis的插件分析
    web.xml中的ContextLoaderListener和DispatcherServlet区别
    css+js杂记
  • 原文地址:https://www.cnblogs.com/topass123/p/13322805.html
Copyright © 2020-2023  润新知