美文网首页大数据 爬虫Python AI Sql
Python抓取炉石传说卡牌,做一个女神的拼图游戏

Python抓取炉石传说卡牌,做一个女神的拼图游戏

作者: 叶子编程 | 来源:发表于2018-08-18 15:54 被阅读4次

    炉石传说原画1

    炉石传说原画2

    本打算使用Selenium模拟点击获取图片信息 

    尝试发现源码中 该按钮并无相应的跳转链接

    这不应该啊 没有相应的跳转链接 点击后是如何加载新的图片?

    后来浏览整体网站源码后 发现把问题想复杂 根本不需要模拟点击查看更多

    网站其实已经加载了所有的卡牌原画 只是之后的原画做了隐藏处理默认不展示  style=display

    点击查看更多后 显示原画

    那么只需使用requests获取网页源码

    用BeautiSoup/正则表达式/pyQuery解析元素 遍历相应img的url 即可下载

    Github

    教训:爬虫前 不要根据网页所对的操作实施相应的代码爬取 不要有这样的思维定式 首先要做的是先大体浏览分析整个网页的源代码  有的可能直接写在源码或json或js中 无需再加工

    关于怎么快速学Python,可以加下小编的Python学习qun:699+749+852,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,欢迎初学和进阶中的小伙伴。每天晚上20:00都会开直播给大家分享Python知识和路线方法,qun里会不定期更新最新的教程

    炉石传说卡牌链接

    炉石传说卡牌

    该网站通过下拉右边的滚动条不断加载新的卡牌

    与上一个网站不同  上一个网站一次性写入了所有卡牌 只不过做了隐藏处理

    该网站是通过js动态加载渲染出的卡牌 直接获取源码 无法得到所有卡牌信息

    那么就用selenium模拟下拉滚动条(selenium简直居家必备之神器)

    使用selenium执行js脚本 每次执行下拉1000个单位滚动条 执行90次

    为什么是90次 测试出来的 大概90次拉到底

    注意:这里要增加1~3秒的暂停时间 用于网页渲染

    第一次没有设置停留时间 无法获取新的数据  怀疑自己 怀疑人生

    经前端/后端好友L君的提示 需增加暂停时间 这样才能获得加载渲染后的数据

    browser.page_source便可获得动态加载的所有数据

    有了数据 之后就很简单 正则匹配获取相应url下载即可

    Github

    最后获得了800张原画 1324张卡牌

    既然获得了这么多卡牌和原画 不能浪费 利用起来 拼图!

    致敬下玩了好几年的炉石

    谢谢你!

    顺手拼一下女神

    相关文章

      网友评论

        本文标题:Python抓取炉石传说卡牌,做一个女神的拼图游戏

        本文链接:https://www.haomeiwen.com/subject/ioyfiftx.html