作为一个小私企的(伪)程序员,你不止要负责软件,还得管硬件【大哭】,前几天给公司安装了一套监控,顺便浏览了下监控厂家的主页,发现一个很好玩的地方,正好在学习爬虫,就拿它试试手了!
目标:萤石广场http://square.ys7.com/
工具:python3.6、pycharm、requests库、json库
思路:首先观察网页,发现网页源码里并没有存储数据,而是通过json数据动态加载的,那么我们可以通过抓包解决,如下图:
找到json包后,就简单多了,直接抓包,写入数据即可!
话不多说,直接上代码了!
导入库,写上抓包的url,以及自己的header信息
先将分类写入字典,然后构建一个空字典,用于之后生成一个json文件,然后循环分类字典的值,用于写入后面的post数据中
构建页面循环,因为是动态加载,就先弄了60页,这里可以加个循环判断!
构建post表单(dat),将需要的数据填入,注意的是分类中有一个和其他的post表单不一样,单独写出来了!
这里开始取数据,其实还有其他的数据,就不一一写出来了
写了一个简单的进度条,直观的看到数据下载的进度哦!
最后存入json文件中,就可以了!
程序运行后的效果,请忽视那个进度条吧(╯▔︹▔)╯
如果要读取文件的话,可以在网上找一个json在线解析的网页,将数据放入,然后解析一下就可以~效果如下:
好了,就写到这里了,如果需要源码的小伙伴,可以来找我哦!也欢迎大家在评论区讨论,指出不足,大家一起交流才能进步!