标签:ima 基本功 cond 信息 ade 网络 优化 url image
看了B站很多免费视频,按照老师的方法试着写了一下,总共耗时3天,当中写入excel文件,出现各种问题,各种错误,查阅了网上各种资源,消耗了两天时间,小白就是小白,基本功不扎实,写代码时碰到问题只能网上到处翻。不过学习python纯属于个人业余爱好,不作为谋生活的工具,能顺利完成这个项目,还是有一点成就感的。我语法什么的只是了解一些,基础不牢固,是直接做项目,以问题为导向,碰到问题,就去查相关的资料,感觉这样挺浪费时间和精力的,还是要系统的学习,奠定坚实的基础才是正道。
总结如下:
点击一个链接进入详细信息页面,查看源码,是采用ajax动态加载
response数据格式化后可以看出,是一个字典类型的数据,我们想要的数据在‘list[]’列表内
发送数据Formdata为
格式化后为详细信息,是一个字典数据
url = ‘http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsList‘#定义地址
headers = {
‘user-agent‘: ‘****‘
}#定义头,头信息删除了
data = {
‘on‘: ‘true‘,
‘page‘: ‘1‘,
‘pageSize‘: ‘15‘,
‘productName‘: ‘‘,
‘conditionType‘: ‘1‘,
‘applyname‘: ‘‘,
‘applysn‘: ‘‘,
}#发送数据
response = requests.post(url=url, headers=headers, data=data)#post响应
page_data = response.json()#json解析
1 for content in page_data[‘list‘]: 2 id_no.append(content[‘ID‘]) 3 url1 = ‘http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkzsById‘ 4 for idx in id_no: 5 data1 = { 6 ‘id‘: idx 7 } 8 res = requests.post(url1, headers=headers, data=data1) 9 if res.headers[‘Content-Type‘] == ‘application/json;charset=UTF-8‘: 10 page_next = res.json() 11 # print(page_next) 12 content_all.append(page_next) 13 time.sleep(1)#因为采集多页信息时,发现服务器无响应,所以用了一个时间延迟,居然成功了
为了输出excel,整整折腾了三天时间,查找了各种网络上的资源,用过pandas的DataFrame的to_excel,但是没用成功,可能是在循环遍历字典时赋值方法不对。最后还是转化为列表,采用xlwt的write()方法进行写入
1 wb = xlwt.Workbook(encoding=‘utf-8‘) 2 ws = wb.add_sheet(‘sheet1‘) 3 title = list(content_all[0].keys()) 4 for j in range(len(title)): 5 ws.write(0, j, title[j]) 6 for i in range(len(content_all)): 7 m = 0 8 for k in content_all[i].values(): 9 ws.write(i+1, m, k) 10 m += 1 11 wb.save(‘alldata.xls‘)
后记
纯粹是个人爱好,自娱自乐,有不对的和可以优化的地方,请多指导、帮助进步。
标签:ima 基本功 cond 信息 ade 网络 优化 url image
原文地址:https://www.cnblogs.com/scrap/p/12733111.html