《零基础学Python》第14章——快手爬票项目由于查询功能的请求地址更新 (12306官网的查询地址更换)为了让大家更好的运行程序,我们已经将更改后的资源在图书网盘连接中更新,大家可以通过网盘链接下载更新后的资源。
也可以下载本帖下的附件。
宝宝天龙 发表于2019-11-11 19:43
我下载的也出问题了,原代码:
response=requests.get(url)
res = response.json()
问题代码为:
JSONDecoderError:Expecting value: line 1 column 1 (char 0)
我在浏览器中的Network中查看response后,发现返回的json文件中最后一个键值对为"status" : ture
这个布尔值ture对python来说是非法字符,要把ture变为Ture才可以被json()解析为字典。
问题是我取不出来response中的json文件,没办法把ture变为Ture。
请求高手!!!
新的爬虫只是加了一个伪随机头,不过12306还是会封,不信可以多运行几次。解决办法,一是等两个小时再次运行可能会解决,二是利用代理IP,三是将最新浏览器中的cookies替换到原代码,四是重写方法;
很多网友提出Process finished with exit code -1073740791 (0xC0000409),这是因为没有爬取到数据,即data为空,所以会报错,调试一下就能看出来,解决办法就是更改最新的请求网址。
另外官方程序时间差计算的代码有bug,不支持跨年,如19年1月减18年12月会报错,应该用datetime.datetime.fromtimestamp()替换。
以下为自己根据原代码改的,除官方程序功能外,本人利用selenium框架,能够实现自助登录和抢票功能,不到之处还请各位老师批评指正!本人微信 13661017741。
视频演示12306.mp4