我是靠谱客的博主 帅气板栗,最近开发中收集的这篇文章主要介绍简单python爬虫爬取游戏wiki立绘,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简单python爬虫爬取游戏wiki立绘

玩二次元手游是感叹美少女立绘真好看啊,可惜就是抽不到,于是看到b站wiki上有角色立绘,就写了个爬虫准备将立绘趴下来欣赏(舔)。
本人爬虫的技术只算是初学,代码大家看个乐就成^_^
例如,爬取手游碧蓝档案的游戏立绘
在这里插入图片描述
流程就是,首先爬取角色列表页面,获得每个角色详情页面的链接,之后进入每个角色页面,将角色立绘下载下来。
上代码:

from bs4 import BeautifulSoup
import re
import urllib.request,urllib.error
import xlwt
import os
import time
def main():
    baseurl="https://wiki.biligame.com/bluearchive/%E5%AD%A6%E7%94%9F%E5%9B%BE%E9%89%B4"
    getData(baseurl)

def getData(baseurl):
    html=askURL(baseurl,"utf-8")
    soup=BeautifulSoup(html,"lxml")
    #获取角色页面的链接
    div_list=soup.select('#mw-content-text > div > div.main-line-wrap > div > div > div> div > div> div > p > a')
    print(div_list)
    for i in div_list:
        time.sleep(1)
        print(i.get('href'))
        biurl="https://wiki.biligame.com"
        hsurl=biurl+i.get("href")
        print(hsurl)
        hshtml=askURL(hsurl,"utf-8")
        hssoup=BeautifulSoup(hshtml,"lxml")
        #获取角色立绘的url
        picpath=hssoup.select("#mw-content-text > div > div.row > div > div.col-md-5.col-xs-12.student-left > div.student-show > img")
        picnames=hssoup.title.string
        picnames=picname_trans(picnames)
        for p in picpath:
            if not os.path.exists('H:游戏立绘碧蓝档案\'+picnames):
                download(p.get('src'),picnames)
#将网页title修改为图片文件名
def picname_trans(str):
    i=str.find('- 碧蓝档案')
    str=str[:i]
    print(str)
    str=str.replace(":","")
    str = str.replace(" ", "")
    str = str.replace("?", "")
    return str+'.png'
#下载图片
def download(url,picname):
    print(url)
    print(picname)
    try:
        time.sleep(0.5)
        urllib.request.urlretrieve(url, 'H:游戏立绘碧蓝档案\' + picname)
    except Exception as e:
        print(e)
        ##download(url,picname)

def askURL(url,encode):
    request=urllib.request.Request(url)
    html=""
    try:
        response=urllib.request.urlopen(request)
        html=response.read().decode(encode)
        response.close()
    except urllib.error.URLError as e:
        print(e)
        if hasattr(e,"code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)
        html=askURL(url,encode)

    return html

if __name__=="__main__":
    main()

结果,可以尽情舔角色了在这里插入图片描述

在这里插入图片描述

最后

以上就是帅气板栗为你收集整理的简单python爬虫爬取游戏wiki立绘的全部内容,希望文章能够帮你解决简单python爬虫爬取游戏wiki立绘所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部