python爬虫類は各プラットフォームの女性アナウンサーのピクチャーを登ります

3461 ワード

目標:各生放送プラットフォーム~~~(虎牙、パンダ、闘魚、全国民)、内の女性アナウンサー生放送表紙画像.
必要な知識:re正規表現、osモジュール、urllibモジュール
このいくつかのプラットフォームの顔値エリアの女性アナウンサーを一度登ったばかりで、全体的に手順はほぼ同じで、私たちはここで「虎牙生放送」をモデルにして、理解してから、まず「闘魚生放送」の闘魚を登ってみることができます.コードは次のとおりです.
import urllib.request
import re
import os
#              
gl_z = 0


def down_img(url1):
    """    """
    #       ,  http:
    url = "https:" + re.sub(r"\?", "", url1)
    global gl_z
    print(url)
    #     
    response = urllib.request.urlopen(url)
    #     
    data = response.read()
    #         
    file_name = url[url.rfind('/') + 1:]
    #     
    a = [x for x in range(10000)]
    #         
    file = open(os.path.join("photo3", "img" + file_name + str(a[gl_z]) + ".jpg"), "wb")
    file.write(data)
    #     
    file.close()
    #    1
    gl_z += 1


if __name__ == '__main__':
    #         
    home = """http://www.huya.com/g/xingxiu"""
    #      
    headers = {
        "Host": "www.huya.com",
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
    }
    #                              html  
    request = urllib.request.Request(url=home, headers=headers)
    response = urllib.request.urlopen(request)
    #           
    html_data = response.read().decode()
    """huyaimg.msstatic.com/avatar/1054/db/6590aa9bcf98e12e5d809d371e46cc_180_135.jpg
    """
    #                     
    img_list = re.findall(r"//huyaimg\.msstatic\.com.+\.jpg\?", html_data)
    print(img_list)
    #           
    for img_url in img_list:
        print(img_url)
        down_img(img_url)