爬取12306火車票車次等資訊(python)

2021-09-21 07:19:35 字數 1461 閱讀 2404

本例子中將爬取相應日期的車次資訊到資料庫中,用的是postgresql資料庫

import requests

import json

from bs4 import beautifulsoup

import psycopg2

##開啟資料庫並登陸

db = psycopg2.connect(host='localhost',port='5432',user=#####',password='#####',database='#####')

cursor = db.cursor()

cursor.execute("create table timetable(出發地 varchar not null,到達地 varchar not null,班次 varchar not null,出發時間 varchar not null,"

"到達時間 varchar not null,總用時 varchar not null,出發日期 varchar not null)")

city_number =

print("開始輸入資料")

for i in city_number:

for j in city_number:

if not i == j:

url = '' \

'ation='+city_number[i]+'&leftticketdto.to_station='+city_number[j]+'&purpose_codes=adult'

data = requests.get(url)

data_json = data.json()['data']['result']

for k in data_json:

temp_list = k.split('|')

#print(temp_list)

if temp_list[1] == '預訂':

#根據分析發現相關位置在切割後位置固定

start_station = city_number[i]

end_station = city_number[j]

vehicle = temp_list[3]

start_time = temp_list[8]

end_time = temp_list[9]

all_time = temp_list[10]

date = temp_list[13]

#用insert將資料插入到資料庫中

cursor.execute("insert into timetable values ('{}','{}','{}','{}','{}','{}','{}')"

.format(start_station,end_station,vehicle,start_time,end_time,all_time,date))

db.commit()

db.close()

爬取12306車次資訊

usr bin python2.7 coding utf 8 2017 10 19 12306 搶票 網頁分析 檢視網頁原始碼 判斷是否通過非同步載入或者框架的形式接收並展示資料 資料加密過,然後前端再通過js解密並展示 即js混淆 urllib2.urlerror 證書作用 保證資料在傳輸的過程中...

雙十一 VS 火車票(12306)

火車票開售了,又是一年,code了一年,咱們也該回顧回顧了。還記得12306上線之初各種技術大牛給人家出方案,吐槽人家外包費用?我們來回顧回顧。就園子裡都過千篇文章來侃這事兒,請問有多少主題的文章過千的?其實最近還有乙個類似的事情估計都被忽略了,因為大家都忙著收快遞給忘記了 其實應該說是中國人就是這...

火車票用完不要扔 還能薅12306羊毛

2017 年底,中國鐵路宣布推出 鐵路暢行 常旅客會員服務,購票乘車累積積分,積分可兌換 12306 指定車次車票。來自鐵路 12306 訊息,自從鐵路常旅客會員推出以來,好多小夥伴順利用積分換到了火車票。不過 12306 方面還提醒,一般積分會在乘車後 5 日內自動進入會員本人賬戶,但有時也會遇到...