python爬虫爬取各大平台女主播图片

目标: 

各大直播平台~~~(虎牙,熊猫,斗鱼,全民),内的女主播直播封面图片.

所需掌握知识:

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)

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/83933432