ty540583827 2019-08-12 16:48 采纳率: 75%
浏览 2287

请问一下怎么把多个dataframe保存到一个excel

用python爬去微博ajax数据之后得到多个dataframe,如果仅仅是print可以得到所有的,但是输出到excel就变成了只能输出最后一个,请问该怎么办?

# conding:utf-8
import requests
from time import sleep
from urllib.parse import urlencode
from bs4 import BeautifulSoup as bs
from pyquery import PyQuery as pq
import pandas


def get_page(page=1):
    base_url = "https://m.weibo.cn/api/container/getIndex?"

    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15',
        'Referer': 'https://m.weibo.cn/u/1821094164',
        'X-Requested-With': 'XMLHttpRequest'
    }
    params = {
        'type': 'uid',
        'value': 1821094164,
        'containerid': 1076031821094164,
        'page': str(page),
    }
    url = base_url+urlencode(params)
    try:
        resp = requests.get(url, headers=headers)
        sleep(1)
        if resp.status_code == 200:
            return resp.json(), page
    except requests.ConnectionError as e:
        print ('Error: {}'.format(e.args))


def parse_page(json, page):
    '''
    用request请求德 json数据
    '''
    if json:
        items = json.get('data').get('cards')
        for index, item in enumerate(items):
            if page == 1 and index == 1:
                continue
            else:
                item = item.get('mblog')
                weibo_data = {}
                weibo_data['id'] = item.get('id')
                weibo_data['text'] = pq(item.get('text')).text()
                weibo_data['attitudes'] = item.get('attitudes_count')
                weibo_data['comments'] = item.get('comments_count')
                weibo_data['reposts'] = item.get('reposts_count')
                yield weibo_data


if __name__ == '__main__':
    for page in range(1, 11):
        json = get_page(page)
        results = parse_page(*json)
        for result in results:
            data = pandas.DataFrame(result)
            for df in data:
                df.to_excel(excel_writer=“微博”)
  • 写回答

1条回答 默认 最新

  • dabocaiqq 2019-08-13 09:27
    关注
    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?