Python中如何將爬取到的數據循環存入到csv文件中?
問題描述
求大神指導 再此感激不盡?。?!
我想要把輸出的結果存入到csv文件中
我的代碼如下:(Python 需要3.5版本的)
# coding:utf-8import requestsimport jsonimport timetime_unix = time.time()time_unix = str(time_unix).split(’.’)[0]headers = { ’Host’: ’sec.wedengta.com’, ’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36’, ’Connection’: ’keep-alive’, ’Content-Language’: ’zh-CN,zh;q=0.8’, ’Accept’: ’application / json’, # ’Accept-Language’: ’ zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3’, ’X-Requested-With’: ’XMLHttpRequest’, ’Referer’: ’https://sec.wedengta.com/findPool.html?dt_from=web&title=%E8%85%BE%E8%AE%AF%E6%B6%A8%E5%81%9C%E6%9D%BF%E9%A2%84%E6%B5%8B%20-%20%E5%8E%86%E5%8F%B2%E6%8E%A8%E8%8D%90&id=99970_56&webviewType=userActivitesType&dt_page_type=11&timeStamp=1488801827765&barType=null&accessp=null’, ’Accept-Encoding’: ’gzip, deflate, br’ }url = ’https://sec.wedengta.com/getIntelliStock?action=IntelliSecPool&id=99970_56&_={0}’.format(time_unix)request = requests.get(url, headers=headers)temp = str(json.loads(request.text)).replace(’’, ’’)dic = eval(temp)content = dic[’content’]content = eval(content)vtDaySec = content[’vtDaySec’]for every in vtDaySec: for every_company in every[’vtSec’]:print(every[’sOptime’])print(every_company[’sChnName’])print(every_company[’sDtCode’][4:])print(’n’)
運行出來結果截圖:
我想要的結果是:
問題解答
回答1:#coding=utf-8import requestsimport jsonimport timeimport csvimport codecsheaders = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.113 Safari/537.36’}url = ’https://sec.wedengta.com/getIntelliStock?action=IntelliSecPool&id=99970_56&_={0}’.format(time.time())r = requests.get(url, headers=headers)result = json.loads(r.text)rows = []for every in json.loads(result[’content’])[’vtDaySec’]: for company in every[’vtSec’]:row = ( every[’sOptime’].encode(’utf-8’), company[’sChnName’].encode(’utf-8’), company[’sDtCode’][4:].encode(’utf-8’))rows.append(row)with codecs.open(’company.csv’, ’wb’) as f: f.write(codecs.BOM_UTF8) writer = csv.writer(f) writer.writerow([’date’, ’stk_name’, ’stk_num’]) writer.writerows(rows)回答2:
csv = open(’data.csv’, ’w’)for every in vtDaySec: for every_company in every[’vtSec’]:csv.write(’,’.join([every[’sOptime’], every_company[’sChnName’], every_company[’sDtCode’][4:]]) + ’n’)csv.close()
相關文章:
1. java中返回一個對象,和輸出對像的值,意義在哪兒2. javascript - Img.complete和img.onload判斷圖片加載完成有什么區別?3. css - chrome下a標簽嵌套img 顯示會多個小箭頭?4. vim - docker中新的ubuntu12.04鏡像,運行vi提示,找不到命名.5. docker網絡端口映射,沒有方便點的操作方法么?6. mysql - 在不允許改動數據表的情況下,如何優化以varchar格式存儲的時間的比較?7. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?8. css3 - 純css實現點擊特效9. css - 網頁div區塊 像蘋果一樣可左右滑動 手機與電腦10. javascript - 有適合開發手機端Html5網頁小游戲的前端框架嗎?
