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”: “http://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()

“””http://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)

    原文作者:七月
    原文地址: https://zhuanlan.zhihu.com/p/49212465
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞