zoukankan      html  css  js  c++  java
  • 动态网页爬取方法

    import requests
    from bs4 import BeautifulSoup import json import re import csv Cookie = "HAList=a-sz-300520-%u79D1%u5927%u56FD%u521B; em_hq_fls=js; st_si=07173812051945; st_asi=delete; st_pvi=43571872917364; st_sp=2019-08-19%2016%3A08%3A52; st_inirUrl=https%3A%2F%2Fcn.bing.com%2F; st_sn=4; st_psi=20190920155504470-111000300841-5541718974; qgqp_b_id=8305e24557b9f3a02c7da68092480aca" url = "http://push2.eastmoney.com/api/qt/stock/trends2/get?secid=1.000002&fields1=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13&fields2=f51,f52,f53,f54,f55,f56,f57,f58&ut=e1e6871893c6386c5ff6967026016627&iscr=0&cb=cb_1568966339259_56575186&cb_1568966339259_56575186=cb_1568966339259_56575186" headers = { 'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36', 'Cookie': Cookie, 'Connection': 'keep-alive', 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, sdch', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Host': 'query.sse.com.cn', 'Referer': 'http://quote.eastmoney.com/center/hszs.html' } #可以在浏览器F12 network中查到动态网页数据,复制过来就好了 # gethtml(url,headers): req = requests.get(url,headers=headers) req.content.decode('gb18030') req = req.text data = re.search(r'"trends":([sS]*?)$',req).group(1)[:-1] #抽取json中的trend data = data.replace('[','').replace(']','').replace('"','') #处理成长字符串列表 data = data.split(',')                        #用逗号分割开 data = [data[i:i+8] for i in range(0,len(data),8)] print(data) f = open('e:\shuju\3.csv', 'w', encoding='gb18030', newline="") #csv数据存储 writer = csv.writer(f) writer.writerow(('日期', '最新价', '单位净值', '累计净值', '日增长额', '日增长率', '申购', '赎回')) #字段名瞎写的,懒得一个一个对了 for i in data: writer.writerow(i)
  • 相关阅读:
    Python批量获取京东商品列表信息
    AxureRP8.1(注册码)破解汉化教程
    sp_getAppLock使用[转]
    rebar3 escriptize
    三层次解析模型(其二):是何、为何、如何
    三层次解析模型(其一):无限、绝对、完美
    wpf项目引入System.Windows.Forms报错
    idea 批量修改
    Android studio 模拟器无法联网问题
    git
  • 原文地址:https://www.cnblogs.com/zsf-note/p/11598579.html
Copyright © 2011-2022 走看看