Python日常小记 - NFL官网相册下载
原题:论python盲如何错误地学习python
概述
不想干活花了一天时间做了一件无聊的事情。零基础自学“拍松”写了几行程序用来抓nfl官网图片。
准备
首先上Python版问了一下大大应该如何实现。大大简明易懂地给出了实现方法,开干。
https://bbs.byr.cn/#!article/Python/12276
准备一些必要的东西。安装win Python 2.7,pip,bs4。这些步骤简单略去不表。
由于听说过几耳朵Python用法,知道是不用写分号和通过缩进判断块结构。很顺利通过bs4取得了静态页面的所有图片。
问题1:动态页面?
高兴之余发现,好多图片没down下来啊?一拍脑袋就知道,肯定是动态页面,用了js了。
恰巧动态页面载入的方法也听说过一些。摸索着找到了phantomjs、ghost.py、selenium三家。
首先派出了phantomjs,因为对js写法一无所知,java也一窍不通,战略性放弃。
转战ghost.py掉进了大坑emc42
问题2:ghost
按理说这个工具是个小而美的webkit虚拟客户端。但是一下撞上了一堆问题。
- 首先是版本。其0.1和0.2版本用法完全不同,2014年资料全都没用。发现这个问题花去了一个半小时。
- 其次是环境。需要Pyside和PyQt搭配使用。想简单安装需要VPN。此处花掉半小时。
- 然后是用法。据说为了避免某个错误不能在term中使用。windows本来就不熟还不给用……算了弃之。此处花去一小时。 于是愉快地转战selenium~ [emc10]
问题3:chromedriver
高高兴兴地下了chromedriver,随即各种奇葩问题。一一狗之没找到原因。version了一下chrome发现64系统装的32chrome,醉了……
遂改换环境,一路顺利。最后测试时却遇到超时问题。
再狗之,无解。本以为因墙无解,后增加延时得解。
问题4:文件名等杂项
大部分问题都迎刃而解,自然信心爆棚。最后有一点小问题。
- 首先是bs的find和find_all,find_all返回的是类似一坨列表的一个结构,想要继续从中筛选需要for一下find,一条一条匹配。
- 第二是弹出条件。发现当图片找到某一张时某个attribute会改变。遂简单粗暴if一下退出。
- 第三是文件名称。正则匹配+人工数位数凑合上了。
- 第四发现下太快服务器会中断链接。固定3s间隔解决。不怕慢。
- 第五py2exe,还是win32和amd64弄混了。编译后发现bs4库丢失,暂时无解。
总结
人生苦短我也不想用python。最好以后不码代码emc4世上聪明人那么多,为啥要去和他们肛代码? 相较之下matlab简直是儿童乐园。当然python和C比也是天堂地狱。
Python与exe之辩,大家都说Python就不应该编译成exe的。的确如此,但在win下玩Python本来就有点小奇葩。
前端后端的连接,反正我是不敢看,太晕。想找一个元素,要是人家藏得好,半天都不见得找得出来。
特别佩服@Dlovingalice 这种码神。求带飞!
总之,这就当做我的Python 101吧~
print u'Hello World !'
源码需要可群内索取
求指点!!
效果图:
Leave a Comment