
1 aristotll Jun 11, 2016 |
3 Allianzcortex Jun 11, 2016 挺有意思的一个应用。 argparser + termcolor 应该也可以 |
4 xiahei Jun 11, 2016 挺不错, Mark. |
6 xsxsxszs Jun 11, 2016 via iPhone 挺有意思的 哈哈 赞一个 |
8 krivol Jun 11, 2016 via Android 赞一个 |
9 9hills Jun 11, 2016 |
11 aristotll Jun 11, 2016 @protream 类似这样是能取到的 from_station_code = stations.get(arguments['<from>'].decode('gbk').encode('utf8')) |
12 imn1 Jun 11, 2016 |
14 9hills Jun 11, 2016 @aristotll windows 上?,我这里实测可以 C:\Python27>python Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on wi 32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> print sys.stdin.encoding cp936 >>> |
15 Allianzcortex Jun 11, 2016 所以最终原则是不要在 Windows 下编码,否则 GBK 会把你弄疯的。看了一下源码,其实是不用手动构造 query_url 的。 requests 里有一个参数是 params,直接用一个 dict 传进去就可以了。 |
16 cashew Jun 11, 2016 Ubuntu 下完美运行。不错。 |
17 21grams Jun 11, 2016 先 star 一个慢慢看 |
18 heraldboy Jun 11, 2016 不错, mac 下没问题。 |
19 protream OP @Allianzcortex 谢谢指点。不知道为什么, 请求 12306 的参数顺序不对得不到数据,而用 dict 传参会打乱参数顺序 |
20 protream OP @Allianzcortex 改用 OrderedDict 了 |
21 justou Jun 11, 2016 @protream # For Python2 if sys.version < '3': reload(sys) sys.setdefaultencoding('utf-8') 看了下源码, py2 下这样做是很危险的, 会打乱整个程序的运行环境, 尤其是当使用了 sys.setdefaultencoding('utf-8')的代码被用到更大的程序中时, 程序何时崩溃都不奇怪, 一开始处理编码问题时也这样用, 直到程序莫名其妙的退出... http://stackoverflow.com/search?q=sys.setdefaultencoding%28%27utf-8%27%29 |
23 sudo987 Jun 11, 2016 via iPhone iOS 下不能输入中文,怎么解决 |
24 cc7756789 Jun 11, 2016 这个数据是从哪里查的 |
26 fhefh Jun 11, 2016 nice |
27 sixer Jun 11, 2016 真不错 |
28 Arnie97 Jun 11, 2016 via Android 除了编码坑以外, ANSI 转义字符在 Windows 下也不能用。可以考虑 colorama |
29 araraloren Jun 12, 2016 @cc7756789 12306 实时爬取的,否则有啥意义。。 |
30 wujunze Jun 12, 2016 最近在学 python mark 一下 |
31 Tink PRO 这类界面一般是咋画出来的 |
33 daiqiangbudainiu Jun 12, 2016 没看具体的,不过当我看到 Linux 下编写, Windows 下没有测试,而且还是个命令行工具的时候,我就知道编码问题要出来了 |
35 protream OP @warcraft1236 大神, 求指点 |
36 daiqiangbudainiu Jun 12, 2016 @protream 我也是初学者。也是头疼编码的问题很多次,才稍微了解一下。简单来说就是, Windows 下的 CMD 用汉字编码是 GBK ,而 Linux 这些是 UTF-8 , GBK 的字数少,所以有些 UTF-8 编码存在的文字, GBK 不存在,而且 GBK 是有损编码,所以这两个编码在转换中不能保持一致,就是 UTF-8 字符串转换成 GBK 然后再转成 UTF-8 之后,和原字符串不是相等的。具体的文章,伯乐在线有过相关文章,具体名字既不清楚了,是讲 MySQL 的 编码问题,讲了常用的编码是怎么回事 |
37 protream OP @warcraft1236 谢谢。感觉要是都用 utf-8 编码这个世界就清静了。 |
38 cruisehu Jun 12, 2016 Could not find a version that satisfies the requirement ticket (from versions: ) No matching distribution found for ticket |
39 wjfz Jun 12, 2016 看评论想到一个段子: Pythoner 一半时间都在解决编码问题 |
43 Tinet Jun 12, 2016 不知道这个数据源是哪里来的,我查了重庆到杭州的票,居然没有动车的信息 |
47 daiqiangbudainiu Jun 12, 2016 @protream 你是准备做 Python 的开发吗? |
48 exoticknight Jun 12, 2016 argparser 跟这个的区别? 我以前写一个爬广播数据的脚本是用 argparser 写的 |
49 protream OP @warcraft1236 是的。准备从 Python 做起。 |
50 protream OP @exoticknight 都是写命令行应用的工具,没本质区别, 只是解析参数的方式不一样 |
51 Geoion Jun 12, 2016 python 2.x 下这个编码问题啊,一颗赛艇 !! 口..口 |
53 alexapollo Jun 12, 2016 很有趣啊,不过有 JSON 格式的输出吗? |
54 protream OP @alexapollo 添加一个功能导出 Json 或 cvs 什么的并不难,不过有什么用? |
55 alexapollo Jun 12, 2016 @protream 比较好复用,或者做成包来复用也不错 |
56 richzhu Jun 12, 2016 via iPhone 不错,留言 mark |
57 a414121088 Jun 13, 2016 请问写了多长时间 |
59 protream OP @a414121088 断断续续加起来一个晚上吧,主体并不难,主要是一些细节优化 |
60 protream OP @qooweds 不应该啊,默认支持 50 天内的查询。难道又是编码的问题?你有试试其他数据格式吗?另外新的版本这俩天会发布,到时候会有新的功能, 敬请关注:) |
62 shyling Jun 15, 2016 via iPad 我写了个 ruby 版的 0 0 |
64 publicAdmin Jun 16, 2016 Mac os 10.11 下 python2.7 下报错。- - |
69 pengliang Jun 18, 2016 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) |