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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误