pyspider框架之ajax数据爬取

pyspider框架之记录1

  • 由于公司业务需求,目前做的爬虫就是爬取全国各个政府发布的各种政策,平时写的代码,没有多少想写成博客的,后续可能都会写出来,今天遇到了一个政府网站采用了ajax异步更新技术,那就做个记录吧。。
  • 目标政府的url地址为http://www.hangzhou.gov.cn/col/col1255929/index.html
    1. 首先网页进行简单分析,因为目标网站存在多页的情况的,一般情况,进行翻页,上边地址栏的url地址会跟着翻页跳转发生有规律的变化,但是此网站不是这样,因为采用了ajax异步更新技术。如下图
      翻页1
      翻页2
    2. 对于ajax异步请求的数据来说,首先考虑从右键->检查->network里抓包分析,如果不容易进行抓包分析,可以借助抓包工具fiddler等,还可以可以借助selenuim自动化网页测试等工具。本次爬虫比较简单,通过简单的抓包就可以获取到ajax异步请求的url地址。如下图
      抓包
      由上图可以,翻一次页,会多一个左下角的请求文件,从右下角即可看到发送请求的url地址,并且采用的是post请求方式,爬虫时需要有请求体data数据,data数据的内容如下图
      这里写图片描述
    3. 接下来,就可以用pyspider框架进行爬取数据了,pyspider是一个相对Scrapy简单的框架,本文不对其使用进行详细描述,后续会单独写pyspider的相关教程。分析完毕,将爬取的数据保存至本地的mongodb数据库。现将完整代码附上
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2018-06-01 14:20:47
# Project: guojiatongji
# 杭州市人民政府 -. 信息公开 -> 市政府信息公开目录

from pyspider.libs.base_handler import *
from pymongo import MongoClient
import datetime
import re

DB_IP = '127.0.0.1'
DB_PORT = 2
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值