菜单

【原创】树莓派上python爬虫查余票

2017年1月5日 - 嵌入式, 编程

今天,尝试着在树莓派上搭建了一下python的环境,然后写了一段并不完美的代码,最后通过访问www.12306.cn的官方网站,读取到了当天的车票信息,树莓派跑起来毫无压力,速度很快,也很方便。

下面就简单做一个记录,看看都做了什么。

1. 操作系统环境是:Raspbian 最新的版本

2. 硬件环境: Raspberry Pi 3 model B.

3. WiFi: 100MB

操作步骤:

1. 更新操作系统并安装相关软件:

 sudo  apt-get update  &&  sudo  apt-get -y install  python-pip python-numpy python-django  

cd ~  && mkdir  myspider && cd myspider

sudo vim.tiny  12306.py 

然后输入如下内容:

# -*- coding:utf-8 -*-
# Author : yoyojacky
# Date : 2017-01-04

import urllib2
import ssl
import json

#Disable ssl certificate check.
ssl._create_default_https_context = ssl._create_unverified_context

#定义城市名称和代码对应关系
city = '@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2@cqi|重庆|CQW|3@csh|长沙|CSQ|4@cch|长春|CCT|5@cdu|成都|CDW|6@fzh|福州|FZS|7@gzh|广州|GZQ|8@gya|贵阳|GIW|9@hht|呼和浩特|HHC|10@heb|哈尔滨|HBB|11@hfe|>合肥|HFH|12@hzh|杭州|HZH|13@hko|海口|VUQ|14@jna|济南|JNK|15@kmi|昆明|KMM|16@lsa|拉萨|LSO|17@lzh|兰州|LZJ|18@nni|南宁|NNZ|19@nji|南京|NJH|20@nch|南昌|NCG|21@sya|沈阳|SYT|22@sjz|石家庄|SJP|23@tyu|太原|TYV|24@wlq|乌鲁木齐南|WMR|25@wha|武汉|WHN|26@xni|西宁|XNO|27@xan|西安|XAY|28@ych|银川|YIJ|29@zzh|郑州|ZZF|30@szh|深圳|SZQ|shenzhen|sz|31@xme|厦门|XMS|xiamen|xm|32'

city_d = {}
tmp_c = city.split('@')
for i in tmp_c:
    if not i:continue
    city_d[i.split(‘|’)[1]] = i.split(‘|’)[2]
    print city_d

#Define some vars
start_time = '2017-01-10'
city_s = city_d[‘上海’]
city_t = city_d[‘南昌’]
#seat = 'yw_num'
seat = 'zy_num'
print "始发站:",city_s
print "到达站:",city_t
print "———————————————–"


def getList():
    html = urllib2.urlopen('https://kyfw.12306.cn/otn/leftTicket/queryT?leftTicketDTO.train_date=%s&leftTicketDTO.from_station=%s&leftTicketDTO.to_station=%s&purpose_codes=ADULT' %(start_time,city_s,city_t)).read()
    res = json.loads(html)
    return res

car_info = ''
for i in getList()[‘data’]:
    car_info_tmp = u'''车次:%s 出发时间:%s 历时: %s 硬卧: %s ''' %(i[‘queryLeftNewDTO’][‘station_train_code’],i[‘queryLeftNewDTO’][‘start_time’],i[‘queryLeftNewDTO’][‘lishi’],i[‘queryLeftNewDTO’][‘zy_num’])
    print car_info_tmp

然后通过命令行执行:

sudo  chmod  +x  12306.py

python 12306.py 

执行后就可以看到结果了。 我的博客现在有点儿问题,就是无法上传图片,不知道哪里坏了。。。真是坑爹, 上次在阿里坑爹云用安骑士扫描后打了补丁就操蛋了。。我真的无语了。。我不想在我的博客上骂脏话,但是!@#¥%&*((&……%¥#!@#!@#……*

好了,大家晚安,做不出来的别吐槽,尝试慢慢调试,思路基本上就是访问网站,找到js的链接,找到数据字典,然后遍历,取出要的内容。。。

【原创】树莓派上python爬虫查余票》有1个想法

yoyojacky

wordpress 这个站点我没有弄好,哎~~~~~~

语法高亮不够给力啊!

发表评论