杨浦图书馆日流量爬虫
背景
新居住的地方在离上海市的杨浦图书馆很近。杨浦图书馆由民国时期的旧上海图书馆修缮扩建而成。进入其中,学习氛围与历史气息合而为一,是我周末最喜欢待的地方。不过图书馆占地面积过小,楼层也只有两层,美则美矣,周末想占个位置还是很难的。
根据之前的观察,馆内人数在300人左右时,就很难再找一个合适的位置了。图书馆的公众号上提供了馆内目前的人数和当日的流量数据,我便抽个时间做了一个爬取图书馆在馆人数的网页,作为参考可以为我提供入馆的最佳时机。
步骤
抓包
手机连上电脑端运行的 fiddler,打开公众号,抓包。
将请求导出为curl
。
使用 go
语言重写请求流程。如果想快速完成的话,可以在 curl-to-go快速生成go
代码。 示例如下:
curl -X POST https://api.easypost.com/v2/shipments \
-u API_KEY: \
-d 'shipment[to_address][id]=adr_HrBKVA85' \
-d 'shipment[from_address][id]=adr_VtuTOj7o' \
-d 'shipment[parcel][id]=prcl_WDv2VzHp' \
-d 'shipment[is_return]=true' \
-d 'shipment[customs_info][id]=cstinfo_bl5sE20Y'
|
|
解析HTML
使用github.com/PuerkitoBio/goquery
库将抓包抓取到的 HTML 解析出来。并将解析出来的数据同当前的时间存入到csv文件中。
|
|
展示
调研了几个库,发现使用百度的 echarts 展示效果是最好的,那么就使用 github.com/go-echarts/go-echarts/charts
库来生成趋势图。
效果如下:
访问地址:访问地址
完整代码:https://github.com/kunpengdai/yplibrary
后记
新冠疫情肆虐,图书馆还没开放,目前的抓包结果只能看到工作人员的活动。相较以往,现在是最希望看到流量达到300以上的一次了。
- Author: kunpeng
- Link: https://kunpengdai.github.io/post/2020/%E6%9D%A8%E6%B5%A6%E5%9B%BE%E4%B9%A6%E9%A6%86%E6%97%A5%E6%B5%81%E9%87%8F%E7%88%AC%E8%99%AB/
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.