概述
简单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立绘所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复