Colly 学习笔记(二)——爬虫框架,抓取下载数据(上证A股数据下载)
Colly 学习笔记(一)——爬虫框架,抓取中金公司行业市盈率数据
Colly 学习笔记(二)——爬虫框架,抓取下载数据(上证A股数据下载)
Colly 学习笔记(三)——爬虫框架,抓取动态页面数据(上证A股动态数据抓取)
- 上一讲是简单说明了网页数据抓取,通过一个简单的爬虫,掌握简单的数据抓取,但是实际情况常出现网页只提供下载,页面没有数据的情况(如图),此时直接用colly抓取数据即可。
遇到这种提供下载的数据,colly可以直接下载。
- 首先查看列表网页结构,如下图所示
#原始的获取链接
#A股
http://query.sse.com.cn/security/stock/downloadStockListFile.do?csrcCode=&stockCode=&areaName=&stockType=1
#B股
http://query.sse.com.cn/security/stock/downloadStockListFile.do?csrcCode=&stockCode=&areaName=&stockType=2
#科创
http://query.sse.com.cn/security/stock/downloadStockListFile.do?csrcCode=&stockCode=&areaName=&stockType=8
head设置如下:
c.OnRequest(func(r *colly.Request) {
//r.Headers.Set("User-Agent", RandomString())
r.Headers.Set("Host", "query.sse.com.cn")
r.Headers.Set("Connection", "keep-alive")
r.Headers.Set("Accept", "*/*")
r.Headers.Set("Origin", "http://www.sse.com.cn")
r.Headers.Set("Referer", "http://www.sse.com.cn/assortment/stock/list/share/")
//关键头 如果没有 则返回 错误
r.Headers.Set("Accept-Encoding", "gzip, deflate")
r.Headers.Set("Accept-Language", "zh-CN,zh;q=0.9")
})
编写抓取结果处理代码:
c.OnScraped(func(r *colly.Response) {