最近互金行业问题不断,基本每天都有问题平台爆出,为了能够实时跟进相应的平台数据进行汇总,于是就想到了使用爬虫进行相关数据的爬取。通过chrome的开发工具找到数据的接口地址,接口返回的数据格式是类似json的格式。json格式的数据可以通过网上的相关工具进行csv格式的转换,目前的任务就是需要将该数据保存下来即可。初步的思路如下,接口数据是分页的,每次请求回来的数据是json格式,将抓取回来的json数据转换为csv,再使用excel处理。
爬取工具
- Requests库
- Lazyspider库
之前学过一些Python的基础,刚好苦于没有实际案例可以进行练手,这次抓取工作就使用Python爬虫进行爬取。第一次上手爬取数据,数据抓取使用requests
库,对比了各种爬虫库工具,感觉这个上手简单一些。数据接口做了一定的处理需要构建一个正常的请求头和cookies。直接使用本机上的cookies,为了方便构建headers和cookies使用Lazyspider
库。
爬取过程
Lazyspider
库的使用比较简单,直接通过本机的curl
解析出需要的headrs和cookies。
curl=“……”
lh=LazyHeaders(curl)
headers=lh.getHeaders()
cookies=lh.getCookies()
接下来就是构建爬取地址,原数据接口是分页发送数据的,开始的想法是将每一页的数据都保存下来,尝试了一下,虽然这样的方式比较简单,但是在后续数据处理的时候文件数太多,格式转换比较麻烦,于是准备将数据保存为一个数据文件。每页返回的数据格式如下:
image实际只需要data
的值,刚好这个值是一个list,刚好比较方便多页数据的拼接。测试了一下网站的数据量,大概有200多页左右,每页数据20条。因为不需要太早的数据,就暂定抓了50页的数据,接下来就是构建抓取地址。
#接口地址
url='……'
#拼接请求地址
get_url=''
for page in range(50):
page=page+1
get_url=url+str(page)
r=requests.post(get_url,headers=headers,cookies=cookies)
接下的操作就简单一些了,把抓取回来的数据提取出data
的值放入一个list中,然后保存为一个txt文件就可以了,为了方便观察进度和记录,把文件名按照抓取时间和页数进行设置。
最后将获得的数据通过一些在线转换工具转换为csv就可以通过Excel来进行处理了。高级点的操作就是把抓取回来的数据保存到自己的数据库,然后通过echart等可视化工具进行处理,这部分还需要再研究一下。
image
网友评论