《四维交通指数》网站爬虫(scrapy),其中包含对地理数据的处理,例如将获取数据去除双引号和逗号,并转换为二进制并存储到postgreSQL数据库中

目标网站:

http://www.nitrafficindex.com/,此例只是获取了宁波的数据,若需获取其他城市的数据请另行修改

代码部分

class SiweiTrafficSpider(crawler.BaseCrawlSpider):
    # 设置时间间隔
    custom_settings = {'DOWNLOAD_DELAY': 3}
    name = "siwei_traffic"
    def __init__(self,*args, **kwargs):
        super(SiweiTrafficSpider, self).__init__(*args, **kwargs)
        self.allowed_domains+= ["nitrafficindex.com"]

    def start_requests(self):
        # 页数循环
        for i in range(1,5):

            url = 'http://www.nitrafficindex.com/traffic/getRoadIndex.do'
            # 获取每一页中的rows中的数据
            form_data = {
                            'areaCode': '330200',
                            'roadLevel': '1, 2, 3, 4',
                            'page': str(i),
                            'rows': '10',
            }
            # 抛出请求
            yield scrapy.FormRequest(
                url,
                formdata=form_data,
                callback=self.parse,

            )

    def parse(self, response):
        try:
            for i in range(0,10):
                jsobj = json.loads(response.text)
                # 获取roads的id,根据id进入下一层从而获取每一行的数据
                id1 = jsobj['rows'][i]["id"]
                # 获取道路等级
                roadgrade = jsobj['rows'][i]["roadGrade"]
                road_id = jsobj['ro
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值