2019全國數學建模大賽c題出租車機場數據(二)

想直接要數據的戳

https://blog.csdn.net/qq1225598165/article/details/102989657

題目

問題C 機場的出租車問題
大多數乘客下飛機後要去市區(或周邊)的目的地,出租車是主要的交通工具之一。國
內多數機場都是將送客(出發)與接客(到達)通道分開的。送客到機場的出租車司機都將
會面臨兩個選擇:
(A) 前往到達區排隊等待載客返回市區。出租車必須到指定的“蓄車池”排隊等候,依
“先來後到”排隊進場載客,等待時間長短取決於排隊出租車和乘客的數量多少,需要付出
一定的時間成本。
(B) 直接放空返回市區拉客。出租車司機會付出空載費用和可能損失潛在的載客收益。
在某時間段抵達的航班數量和“蓄車池”裏已有的車輛數是司機可觀測到的確定信息。
通常司機的決策與其個人的經驗判斷有關,比如在某個季節與某時間段抵達航班的多少和可
能乘客數量的多寡等。如果乘客在下飛機後想“打車”,就要到指定的“乘車區”排隊,按
先後順序乘車。機場出租車管理人員負責“分批定量”放行出租車進入“乘車區”,同時安
排一定數量的乘客上車。在實際中,還有很多影響出租車司機決策的確定和不確定因素,其
關聯關係各異,影響效果也不盡相同。
請你們團隊結合實際情況,建立數學模型研究下列問題:
(1) 分析研究與出租車司機決策相關因素的影響機理,綜合考慮機場乘客數量的變化規
律和出租車司機的收益,建立出租車司機選擇決策模型,並給出司機的選擇策略。
(2) 收集國內某一機場及其所在城市出租車的相關數據,給出該機場出租車司機的選擇
方案,並分析模型的合理性和對相關因素的依賴性。
(3) 在某些時候,經常會出現出租車排隊載客和乘客排隊乘車的情況。某機場“乘車區”
現有兩條並行車道,管理部門應如何設置“上車點”,併合理安排出租車和乘客,在保證車
輛和乘客安全的條件下,使得總的乘車效率最高。
(4) 機場的出租車載客收益與載客的行駛里程有關,乘客的目的地有遠有近,出租車司
機不能選擇乘客和拒載,但允許出租車多次往返載客。管理部門擬對某些短途載客再次返回
的出租車給予一定的“優先權”,使得這些出租車的收益儘量均衡,試給出一個可行的“優
先”安排方案。

數據獲得(不想自己爬的可以直接跳到最後下載)

首先,訪問鄭州機場網址,點擊鏈接
這個網站是實時刷新的
在這裏插入圖片描述
寫一個python的小爬蟲,將數據爬下來並且保存:

import requests
import time
from bs4 import BeautifulSoup
import re
class Tool:
    removeImg = re.compile('<img.*?>| {7}|')
    removeAddr = re.compile('<a.*?>|</a>')
    replaceLine = re.compile('<tr>|<div>|</div>|</p>')
    replaceTD= re.compile('<td>')
    replacePara = re.compile('<p.*?>')
    replaceBR = re.compile('<br><br>|<br>')
    removeExtraTag = re.compile('<.*?>')

    def replace(self,x):
        x = re.sub(self.removeImg,"",x)
        x = re.sub(self.removeAddr,"",x)
        x = re.sub(self.replaceLine,"\n",x)
        x = re.sub(self.replaceTD,"\t",x)
        x = re.sub(self.replacePara,"\n    ",x)
        x = re.sub(self.replaceBR,"\n",x)
        x = re.sub(self.removeExtraTag,"",x)
        return x.strip()

tool=Tool()





# 請求的首部信息
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}
# 例子的url
url = 'http://www.whalebj.com/xzjc/default.aspx?tdsourcetag=s_pctim_aiomsg'
# 利用requests對象的get方法,對指定的url發起請求
# 該方法會返回一個Response對象
for i in range(0,2000):
    res = requests.get(url, headers=headers)
    soup = BeautifulSoup(res.text, 'lxml')
    tags = soup.find_all('span', {'class': 'content_Case'})
    e = tags.__str__()
    f = tool.replace(e)
    g = f[1:len(f)-1]
    g = g+"\n"
    print(g)
    with open('data.txt', 'a',encoding='utf-8') as f:
        f.write(g)
    print("第",i)
    time.sleep(60)

運行就可以爬到數據了,下面有我已經爬到的數據
在這裏插入圖片描述
不想爬的同學可以下載我已經爬取好的數據:
百度雲鏈接:
鏈接:https://pan.baidu.com/s/1o755xoeq7nVuCGu9r70uPA
提取碼:xamx

有用的話,記得關注我的微信公衆號“文化人愛讀水許傳”,分享更多思路
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章