当前位置:   article > 正文

Colly 爬虫学习笔记(三)——爬虫框架,抓取动态页面数据(上证A股动态数据抓取)_colly爬虫 翻页抓取

colly爬虫 翻页抓取

Colly 学习笔记(三)——爬虫框架,抓取动态页面(上证A股列表抓取)


Colly 学习笔记(一)——爬虫框架,抓取中金公司行业市盈率数据

Colly 学习笔记(二)——爬虫框架,抓取下载数据(上证A股数据下载)

Colly 学习笔记(三)——爬虫框架,抓取动态页面数据(上证A股动态数据抓取)


​ 前两章节主要讨论静态数据的抓取,我们只需要把网页地址栏中的url传到get请求中就可以轻松地获取到网页的数据,但是有的网页是动态页面,我们通过网页源代码无法找到数据,翻页时URL也没有改变。此时就无法抓取数据。比如 http://www.sse.com.cn/assortment/stock/list/share/ 如下图所示,通过开发者工具和查看网页源代码发现,虽然相同的URL但是内容却不一样。此时就要找到动态页面对应的URL,才可以抓取数据。

在这里插入图片描述

查看页面的真实URL方法如下:

  1. 找到通过点击分页按钮,找到对应的URL(具体步骤如图所示)

在这里插入图片描述

  1. 通过postman查看并排除无效参数

    #动态URL原始参数
    http://query.sse.com.cn/security/stock/getStockListData2.do?&jsonCallBack=jsonpCallback49711&isPagination=true&stockCode=&csrcCode=&areaName=&stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=3&pageHelp.pageSize=25&pageHelp.pageNo=3&pageHelp.endPage=31&_=1609296745917
    #postman调试优化后的参数
    http://query.sse.com.cn/security/stock/getStockListData2.do?stockType=1&pageHelp.cacheSize=1&pageHelp.beginPage=3&pageHelp.pageSize=25&pageHelp.pageNo=3
    
    • 1
    • 2
    • 3
    • 4

postman查看如下图所示
在这里插入图片描述

  1. 编写colly代码抓取过程
	//finish
	c.OnScraped(func(r *colly.Response) {
   
        //解析Json
		var item  PageResult
		err := json.Unmarshal(r.Body, &item)
		if err != nil {
   
		           receiver.MLog.GetLogHandle().WithFields(log.Fields{
   "err":err,"res":string(r.Body)}).Error("Receive Error ")
            //若返回系统繁忙,则等一段时间重新访问
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/809196
推荐阅读
相关标签
  

闽ICP备14008679号