廣西互聯網金融平臺系列-Scrapy爬蟲爬取海金匯平臺數據

1、背景

scrapy爬取互聯網金融平臺,與其餘類型網站不一樣,互聯網金融平臺有投資列表,其中的循環真是讓人煩躁,記錄一下。css

2、目的

拿到標的信息和投資人記錄,而且數據持久化dom

3、條件

沒有任何反爬蟲的措施,直接爬就好了scrapy

4、示例代碼

代碼邏輯:ide

1.當前獲取列表頁的url網站

2.自動翻頁爬取ui

3.到詳情頁爬取標的信息url

4.爬取投資人投資記錄code

import scrapy
from urllib import parse
from scrapy.http import Request
from ..items import HaijhItemLoader,HaijhItem,HaijhListItem,HaijhListItemLoader


class HaijinhuiSpider(scrapy.Spider):
    name = 'haijinhui'
    allowed_domains = ['www.haijinhui.com.cn']
    start_urls = ['https://www.haijinhui.com.cn/borrow/list?filter=0_0_0_0&page.current=1&page.size=10']

    def parse(self, response):
        """
        將當前列表頁的每條標的連接拿到
            並傳給detail進行深刻爬取
            已知頁碼能夠在url中循環  就不用翻頁了
        """
        total = response.css('.financing-list-box a')
        for i in total:
            title_url = i.css('::attr(href)').extract_first("")
            yield Request(url=parse.urljoin(response.url,title_url),callback=self.parse_detail)

        for x in range(1,52):
            next_pages = "https://www.haijinhui.com.cn/borrow/list?filter=0_0_0_0&page.current=%s &page.size=10" % (x)
            yield Request(url=next_pages,callback=self.parse)

    def parse_detail(self, response):

        loaders = HaijhItemLoader(item=HaijhItem(), response=response)
        loaders.add_css("title",".item-title h4::text")
        loaders.add_value("target_urls", response.url)
        loaders.add_value("target_urls_id", response.url)
        loaders.add_css("amount", ".layout-left.tender-focus li:first-child i::text")
        loaders.add_css("profit", "#rate i::text")
        loaders.add_css("terms", ".red.fz17::text")
        loaders.add_css("protype", ".item-title h4::text")
        loaders.add_css("title", ".item-title h4::text")
        h_loader = loaders.load_item()
        yield h_loader

        total_tr = response.css('.tab-page .table tr:not(:first-child)')
        for tr in total_tr:
            ilist_loader = HaijhListItemLoader(item=HaijhListItem(), response=response)
            ilist_loader.add_value("target_urls", response.url)
            ilist_loader.add_value("target_id", response.url)
            ilist_loader.add_value("invest_username", tr.css("td::text")[0].extract())
            ilist_loader.add_value("invest_amount", tr.css("td")[2].css('i::text').extract())
            ilist_loader.add_value("invest_time", tr.css("td:last-child::text").extract())
            ilist_item = ilist_loader.load_item()
            yield ilist_item

5、很是有意思的數據

根據所得到的數據,進行了一些基本計算,獲得一些有意思的數據,好比:ci

1.單筆投資最多的用戶是[13**4],他最多的一次單筆投資是在2017-12-18號下午4點多進行的,投了80萬元。get

2.排名第二的用戶是[18**8],他有兩次單筆投資70萬的,OMG!

3.投資筆數最多的用戶我估計是[80**0],他的投資記錄有將近290條,海金彙總共發標大約是510條(偏差5條),並且這個用戶的投資金額還不穩定,從1塊錢到16塊錢到50萬都有。記錄顯示他的最先一筆投資是2016年的1月份,那大概是個美好的早晨,第一筆投資投了2萬塊。

4.緊隨其後的另外一個用戶是[江湖**人],他的投資記錄也很多,大約有180多條,最高投資的一次是21萬多,固然最少的時候20幾塊也是投的。很巧的是,這個投資用戶的第一筆投資也是2016年的1月份,與上面那個用戶是同一天、同一個早晨。

5.海金匯平臺的標的中,最高的一筆借款是100萬,數據顯示有11條借款標的都是100萬的。所有都是在2017年7月份之後的。

6.最少的一筆借款是汽車抵押借款,2.5萬元。固然也有抵押房子只借3萬元的。

數據還能夠更豐富,豐富成不少張圖表均可以

相關文章
相關標籤/搜索