最近出于某种不可描述的原因,需要爬一段数据,大概长这样:
是一个价格走势图,鼠标移到上面会显示某个时刻的价格,需要爬下来日期和价格。
第一步肯定先看源代码,找到了这样一段:
历史记录应该是从这个iframe发过来的,点进去看看,找到这样一段:
可以大概看出来是通过get一个json文件来获取数据,我们要的东西应该就在这个json里面。打开浏览器的开发者工具(F12),一个个看发过来的json,发现这样一个:
打开看看:
ok,我们找到了想要的东西了,接下来分析下这个url,发现一些规律,可以直接从第一页的url构造出来这个的url,除了一个token...从源代码里找到这玩意长这样...
菜鸡如我当然不知所措了...只能模拟浏览器抓包了...加载完从这个frame的src里可以找到这个token,问题解决,开爬!
以上部分的代码如下:
#coding=utf8
importurllib.requestimportjsonimportrequestsimportrefrom selenium importwebdriverimporttimefrom bs4 importBeautifulSoupimportrequestsimportrandomimportpytzimportcv2from matplotlib importpyplot as pltfrom PIL importImage, ImageEnhanceimportpytesseractfrom selenium.webdriver.common.keys importKeysimportsysimportnumpy as npimportgcdefget_data_one_page(source, options, page):
key1= 'a href