震惊!中国地震台网数据爬取

本文介绍了如何使用Python爬虫技术对中国地震台网的数据进行抓取,深入探讨了爬虫实现过程与大数据背景下的数据处理方法。

在这里插入图片描述

import scrapy
import re

from scrapy import Request
from urllib import parse

from SpiderDemo.items import SpiderdemoItem
class CeicSpider(scrapy.Spider):
    name = 'ceic'
    allowed_domains = ['www.ceic.ac.cn/speedsearch?time=6']
    start_urls = ['http://www.ceic.ac.cn/speedsearch?time=6/']

    def parse(self, response):
        post_nodes = response.xpath('//*[@align="left"]/a/@href').extract()
        for post_node in post_nodes:
            yield Request(url=parse.urljoin(response.url,post_node),callback=self.parse_detail,dont_filter=True)

        next_url = response.xpath('//*[@id="paging"]/div/div/ul/li[last()-1]/a/@href').extract()[0]
        if next_url:
            yield Request(url=parse.urljoin(response.url,next_url),callback=self.parse,dont_filter=True)


    def parse_detail(self,response):

        spider_item = SpiderdemoItem()


        time = response.xpath('//*[@valign="middle"]/text()').extract()[1].strip()
        latitude = response.xpath('//*[@valign="middle"]/text()').extract()[3].replace("°","")
        longitude = response.xpath('//*[@valign="middle"]/text()').extract()[5].replace("°","")
        depth = response.xpath('//*[@valign="middle"]/text()').extract()[7].replace("千米","")
        level = response.xpath('//*[@valign="middle"]/text()').extract()[9]
        area = response.xpath('//*[@valign="middle"]/text()').extract()[11]


        spider_item["time"] = time
        spider_item["latitude"] = latitude
        spider_item["longitude"] = longitude
        spider_item["depth"] = depth
        spider_item["level"] = level
        spider_item["area"] = area

        return spider_item

Name:Eamonze
Time : 2020/12/5

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值