首页上一页 1 下一页尾页 4 条记录 1/1页
快手爬票内容咨询
发表在Python图书答疑
2019-09-20
《零基础学Python》第14章 网络爬虫开发
是否精华
是
否
版块置顶:
是
否
快手爬票的例子,有两个问题想咨询下。
1、如果我想爬出的数据导到Excel,表头应该如何增加?只能通过 sheet1.write(0,'列数','表头每一列内容') 这种方式吗?有没有快速增加的写法?
2、爬虫代码有时候会报错,报错截图请见附件
import requests '''5-7 目的地 3 车次 6 出发地 8 出发时间 9 到达时间 10 历时 26 无坐 29 硬座 24 软座 28 硬卧 33 动卧 23 软卧 21 高级软卧 30 二等座 31 一等座 32 商务座特等座 ''' data = [] # 用于保存整理好的车次信息 type_data = [] # 保存车次分类后最后的数据 def query(date, from_station, to_station): # data.clear() # 清空数据 # type_data.clear() # 清空车次分类保存的数据 # 查询请求地址 url = 'https://kyfw.12306.cn/otn/leftTicket/queryA?leftTicketDTO.train_date={}&leftTicketDTO.from_station={}&leftTicketDTO.to_station={}&purpose_codes=ADULT'.format(date, from_station, to_station) # 发送查询请求 response = requests.get(url) print(response.status_code) # 将json数据转换为字典类型,通过键值对取数据 result = response.json() result = result['data']['result'] if len(result) != 0: # 判断返回数据是否为空 for i in result: # # 分割数据并添加到列表中 tmp_list = i.split('|') # 创建座位数组,由于返回的座位数据中含有空既“”,所以将空改成--这样好识别 seat = [date, tmp_list[3], from_station, to_station, tmp_list[8], tmp_list[9], tmp_list[10] , tmp_list[32], tmp_list[31], tmp_list[30], tmp_list[21] , tmp_list[23], tmp_list[33], tmp_list[28], tmp_list[24], tmp_list[29], tmp_list[26]] newSeat = [] # 循环将座位信息中的空既“”,改成--这样好识别 for s in seat: if s == "": s = "--" else: s = s # 保存新的座位信息 newSeat.append(s) type_data.append(newSeat) return type_data if __name__ == '__main__': newdata = query('2019-09-21','GZQ','CDW') print(newdata)