TapTap是一个推荐高品质手游的手游分享社区,实时同步全球各大应用市场游戏排行榜,与全球玩家共同交流并发掘高品质手游。
taptap排行榜的抓取稍微有点绕,让我门分析下它的排行榜如何抓取吧!
首先起始页面的地址为:https://www.taptap.com/top/download
排行榜是一个典型的列表+详情结构
列表页如下
chrome浏览器按f12打开调试,定位到列表的dom,可以发现,列表的样式为一个div,div上有一个名为taptap-top-card
的class
如下:
因此,digger爬虫配置中的list_css为:
list_css: div.taptap-top-card
同上,我们拿到详情页的链接地址的css选择器:
div.top-card-middle>a
列表页的配置就可以是这样的:
- name: list_games
is_list: true
is_unique: false
list_xpath: ""
list_css: div.taptap-top-card
page_xpath: ""
page_css: ""
page_attr: ""
plugin: extract_html@s2
fields:
- name: game_url
is_array: false
is_html: false
xpath: ""
css: div.top-card-middle>a
attr: href
plugin: ""
remark: ""
next_stage: game_detail
根据详情页地址,我们就可以继续定义一个详情页的stage,来爬取游戏详情,css选择器的操作同上,最终得到一个配置文件如下:
start_urls:
- https://www.taptap.com/ajax/top/download?total=30&page=1
start_stage: list_games
stages:
- name: list_games
is_list: true
is_unique: false
list_xpath: ""
list_css: div.taptap-top-card
page_xpath: ""
page_css: ""
page_attr: ""
plugin: extract_html@s2
fields:
- name: game_url
is_array: false
is_html: false
xpath: ""
css: div.top-card-middle>a
attr: href
plugin: ""
remark: ""
next_stage: game_detail
- name: