Beijing_horizontal_bar_map

 
Category: Python

写在前面

用 python 爬取优酷视频的列表, 其实就是一个 get 请求带了 page 参数, 比较简单.

https://list.youku.com/albumlist/show/id_22719275.html

评测

位置 单杠 云梯 双杠 其他 去过
百旺公园(三角区域)   1
上地公园   1
马连洼地铁站A 口外 低, 挡板   1
中关村公园 低, 挡板   1
地大校园   1
庆丰公园 有几级   1

列表

 朝阳公园安装单杠了可以摆一摆
 北苑家园中心公园有单杠(公交北苑家园西站北)
 石佛营东里东-北均有公园街头单杠
 人定湖公园单杠更新矮单杠适合吊单杠
 田村城市休闲公园和万寿路公园新装准单杠
 为门头沟区葡山公园新装单杠喝彩
 通州体育场单杠更新
 通州玉桥南里站玉春园公园有单杠
 找不到单杠用三人引体架也可-老徐演示
 燕化星城京周路边公园有单杠(大董村站)
 槐树岭上街心公园有单杠
 奥林匹克花园800米狭长公园有单杠
 丰台科技园生态主题公园单杠(收费)
 新发地南兴华公园B区新装单杠
 马驹桥米拉公园的单杠
 顺义区滨河公园有单杠
 小汤山文化广场公园有单杠与百善公园双杠
 延庆区香水苑公园有单杠有双杠
 密云区滨河大桥东北角有准单杠准双杠
 密云区白河两岸1200架健身器材没见单双杠
 怀柔区健康主题公园双杠和准单杠
 通州大运河森林公园有单杠
 平谷区兴谷广场有双杠和引体单杠
 彰化南路公园单杠
 燕山燕怡园公园单杠-燕山健身广场
 三环路木樨园桥东南角街头公园单杠
 蓝晴路世纪城街头公园单杠
 地铁陶然亭南姚家井街头单杠
 万寿庄路北头金沟河边街头公园单杠
 白纸坊街头小公园单杠
 火器营桥西路南街头小公园单杠
 农影门口外街头小公园单杠(友谊宾馆对面)
 地铁湾子站口真有单杠双杠
 别墅密集区中河堤公园疑似单杠
 小天鹅公园单杠更新
 天元公园的木头杆单杠建议安装真的+晒太阳椅不错
 新京报刊登老孙单杠长寿摆+BTV大院真有单杠
 天通西苑三区东北三角地公园有单杠
 科学院体育场改造没再安装单杠-中关村茶点还在
 万芳亭公园(高杆没了)定慧公园(翻建)单杠设施情况
 快报:紫竹院公园单双杠改造完工830日启用-单杠窄
 东埠头人口文化广场公园单杠公租房健身好去处
 杠友推荐单杠交流处:京城全民健身第一园
 杠友推荐单杠交流处:后海健身园
 定东郊野公园的单杠朝阳区第一好
 畅春新园体育休闲广场公园的准单杠
 黑塔公园边上的单杠双杠
 阳光星期八公园有双杠
 美丽园公园的单双杠八里庄地区唯一
 定慧公园只剩准单杠健身老英雄曾锻炼的地方
 葡山公园双杠两副(门头沟)
 南口公园中低单杠
 人定湖公园的单杠双杠好是动作交流之地
 和义南站路东公园双杠和一些公园大门
 青年湖公园双杠有特点
 玉渊潭公园单双杠健身器材更新完工17日启用
 碧水风荷公园有双杠
 马南里公园单杠双杠令人振奋
 海子公园的双杠和九龙口地铁文化等公园情况
 南店公园真正街头公园的准双杠
 龙腾世纪文化广场空港开发区双杠
 高米店公园的单杠双杠(大兴区)
 志远庄公园的单杠双杠及健身热
 黄渠公园的单杠双杠
 石各庄公园单杠双杠很招风
 东坝郊野公园和京城槐园只有双杠
 郎各庄文化广场公园(红军公园西)的单杠真好
 航天三院体育场只有双杠
 南宫体育公园门票10元不适合经常锻炼
 长阳公园的单杠双杠(房山区)
 乐跑公园附近的进口单双杠有意思
 庄怡公园的单杠双杠不错
 八里桥音乐主题公园只有双杠
 公众不能进的暖山“私家公园”似乎有单杠
 百花公园的准单杠
 玉东郊野公园的单杠双杠和北京绿道简况
 大兴健身热滨河翡翠念坛等公园健身器材多
 金田公园的单杠双杠
 勇士营郊野公园只有双杠
 京城体育休闲公园单杠一副双杠两副
 姚家园公园的双杠和准单杠
 劲松五区公园有单杠双杠讲孝道
 香河园公园的木头杆单杠 建议安装真的
 各路达人聚工体掀单杠狂潮
 航天二院职工文化中心新装单杠
 丰益花园的单杠非常好
 四得公园的水管单杠
 老山城市休闲公园新装单双杠健身老英雄到场祝贺
 太平郊野公园单杠两处(天通西苑受益)
 热心公益七旬老人用退休金在工体安装组合健身器材
 中科院重视单双杠锻炼体育场科春社区都安装
 海棠公园单杠双杠都不错
 亦庄体育中心和文体中心公园只有双杠
 富力又一城公园单双杠颇似欧美风格
 三槐堂站兴海公园单杠双杠都有
 瀛海兴海园广场单双杠(玉璟园兴海园受益)
 和义健身园公园单杠双杠好
 东高地体育场有单杠
 爱心苑公园单杠有特点(爬香山路过)
 百旺公园的单杠
 小天鹅公园单杠健身英雄老孙最早锻炼地方
 金源娱乐园的单杠双杠
 上地公园高中低单杠
 顺义公园没有单双杠
 鸿博公园的单杠双杠
 石榴庄公园只有双杠
 绿堤公园真的有单杠(永定河边)
 桃苑公园有单杠双杠
 望京体育公园单杠双杠很各色
 杠友们提过的北工大单杠是这样的
 槐新公园只有双杠
 南苑公园单杠好(五爱屯下车)
 东高地体育场有双杠
 旧宫旺兴湖公园旺兴湖郊野公园单杠双杠
 昌平区体育活动中心地处永安公园北有单杠
 昌平区亢山广场(公园)单杠双杠
 西山公园的单杠双杠
 常营公园的单杠
 通州区单杠在西海子公园西边通州体育场
 长春健身园(实际是公园)的单杠双杠
 房山区良乡北潞园健身公园单杠好
 滨河世纪广场公园(永定河文化广场)有两套单杠
 将府公园北园只有双杠
 马甸公园单杠双杠挺好
 东小口森林公园只有双杠
 望京南湖体育公园有单杠(望京桥东)
 东升文体公园单杠很经典
 永泰庄东路军民共建健身园单杠双杠多
 清河燕清体育文化公园单杠好又高又宽
 康庄公园单双杠健身热潮不断让双上肢跑步
 快报:公园明星老刘胡哥试用中国人民大学校园单杠
 北滨河公园单杠好北京第一 向管理者致敬!
 北京市区最高的单杠热潮法海寺健身园见闻3
 北京市区最高的单杠热潮法海寺健身园见闻2
 北京市区最高的单杠热潮法海寺健身园见闻1
 龙潭西湖公园单杠弥补龙潭公园不足
 老关老荆小肖同时大回环试用天坛公园新单杠
 北京单杠明星李家恒老关老荆老白小肖试用天坛公园新单杠
 日坛公园练单杠的人多但单杠破旧建议更新
 北京工人体育馆西门的军体单杠太好了
 柳荫公园的单杠非常好 向柳荫的管理者致敬!
 方庄体育公园单杠不错就是玩的人少
 龙潭公园新装单杠公园年票不能用
 双秀公园单杠双杠年久失修本来就是凑合事儿
 地坛公园单杠年久失修 双杠尚可
 玉渊潭公园掀起全民单杠锻练热潮 牛哥哥带动人气
 2014年紫竹院公园掀起单杠健身狂潮 老刘常年在此地鼓动
 2014年紫竹院公园掀起单杠健身狂潮(续)
 莲花池公园掀起全民单杠双杠健身热潮
 万芳亭公园持续掀起单杠双杠健身热潮 找老梁啊
 东单公园不断掀起单杠双杠健身狂潮(一)
 东单公园不断掀起单杠双杠健身狂潮(二)
 东单公园不断掀起单杠双杠健身狂潮(三)
 东单公园不断掀起单杠双杠健身狂潮(四)
 陶然亭公园单杠双杠健身热潮持续不断
 陶然亭公园单杠双杠健身热潮持续不断(续)
 北京公园单杠明星牛宝林中国人民大学单杠巡礼
 新闻快报:老史赴中国人民大学单杠处访问并做屈伸上
 北京市内最大的公园朝阳公园居然没有单杠双杠
 中国第一公园北京奥林匹克森林公园没有单杠双杠
 快报:天坛公园健身器材改造完工单杠安装有问题
 丰台花园的单杠好只是练动作的人少

代码

import requests
import codecs
import re


def get_html(base_url):
    try:
        r = requests.get(base_url)
        r.raise_for_status()
    except HTTPError as http_err:
        print(f"error {http_err}")
        exit(1)
    except RequestException as err:
        print(f"an error occur: {err}")
        exit(2)

    return r.text


def get_bar_lists(page_num):
    url = f"https://list.youku.com/albumlist/items?id=22719275&page={page_num}&size=20&ascending=0&callback=tuijsonp15"
    content = requests.get(url).text
    ans = codecs.decode(content, "unicode-escape")
    ans = re.findall(r'<a href="(.*?)".*?title="(.*?)"', ans)
    ans = [(i.replace("\\", ""), j) for i, j in ans]
    print(ans)
    return ans


def get_all():
    ans = []
    for i in range(10):
        ans.extend(get_bar_lists(i + 1))
    with open("list.txt", "w") as f:
        for i, j in ans:
            f.write(f"https:{i}, {j}\n")


if __name__ == "__main__":
    get_all()