Python把网页信息写入Excel

Python把网页信息写入Excel

说明:

把文件写入Excel是非常有用的,高效的处理数据!

若你还不知道如何爬取网页信息,请看这两个案例:

爬取周杰伦隐藏歌曲

爬取豆瓣TOP250

效果展示:

不多说直接上代码-注意看注释:

import openpyxl 
#引入openpyxl模块

#安装命令
pip install openpyxl
import openpyxl 
#引用openpyxl 。
wb = openpyxl.Workbook()
#创建工作簿
sheet = wb.active
#获取工作表
sheet['A1']='歌曲名'
sheet['B1']='歌曲专辑'
sheet['C3']='歌曲链接'#写入excel,并给单元格命名
wb.save(music.xlsx)

至于这里面的A1、B1、C1什么意思,就是Excel里面的单元格的单位,鼠标点击就可以看到

豆瓣TOP250写入Excel-注意注释:

import requests,openpyxl#导入openpyxl库,为写入excel库
from bs4 import BeautifulSoup
#写入本地excel
wb=openpyxl.Workbook()#利用openpyxl模块创建Workbook对象,创建工作簿,并赋值给wb
sheet=wb.active#利用workbook对象的active属性获取工作表
sheet['A1']='电影名'#把excel的单元格命名为'电影名',以此类推
sheet['B1']='推荐语'
sheet['C1']='详情链接'
# --------------------------分割线-----------------------------------
for i in range(10):
    url='https://movie.douban.com/top250?'+'start='+str(i*25)+'&filter='
    #因为豆瓣是10页所以需要循环十次,豆瓣每一页start增加25,所以需要i*25
    res = requests.get(url)
    #获取豆瓣网页数据
    soup = BeautifulSoup(res.text, 'html.parser')
    #解析数据
    douban=soup.find_all('div',class_='item')
    #获取标签全部数据
    try:
        for x in douban:
            #写一个循环把数据对象转化成tag
            Number=x.find('em').text
            #取其em标签,为序列号
            movie_title=x.find(class_='title').text
            #取其title元素,为电影片名
            rating=x.find(class_='rating_num').text
            #取其rating_num元素为评分
            recommended=x.find(class_='inq').text
            #取其inq元素,为推荐语
            douban_url=x.find('a')
            #取其a标签,为链接做铺垫
            URL=douban_url['href']
            #取其a标签的属性名,为链接
            print(Number+'.',movie_title,rating+'分'+'\n','推荐语:'+recommended+'\n'+URL)
            # 打印所有内容
            # --------------------------分割线-----------------------------------
            #这个是写入excel的代码
            sheet.append([movie_title,recommended,URL])#加一个列表框转换为列表,用逗号分割列表使其变成小列表,能对应上面的写入信息
    except AttributeError:#报错没有影评的跳过
        print('没有影评,跳过')
wb.save('douban.xlsx')#保存excel文件,并命名为douban

周杰伦歌曲信息写入Excel-注意注释:

import requests,openpyxl
#引用requests库
wb=openpyxl.Workbook()#利用openpyxl模块创建Workbook对象,创建工作簿,并赋值给wb
sheet=wb.active#利用workbook对象的active属性获取工作表
sheet['A1']='歌曲名'#把excel的单元格命名为'歌曲名',以此类推
sheet['B1']='歌曲专辑'
sheet['C1']='歌曲链接'
# --------------------------分割线-----------------------------------
for x in range(20):#此循环数值请不要改太大,会对服务器造成压力
    params = {
        'ct': '24',
        'qqmusic_ver': '1298',
        'new_json': '1',
        'remoteplace': 'sizer.yqq.song_next',
        'searchid': '64405487069162918',
        't': '0',
        'aggr': '1',
        'cr': '1',
        'catZhida': '1',
        'lossless': '0',
        'flag_qc': '0',
        'p': str(x+1),
        'n': '20',
        'w': '周杰伦',
        'g_tk': '5381',
        'loginUin': '0',
        'hostUin': '0',
        'format': 'json',
        'inCharset': 'utf8',
        'outCharset': 'utf-8',
        'notice': '0',
        'platform': 'yqq.json',
        'needNewCode': '0'
    }
    #这些都是下面url?号后面的参数,通过params传递过去
    r_music=requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?',params=params)
    #调用get获取音乐字典
    j_music=r_music.json()
    #用json方法将response对象转换为列表/字典
    o_music=j_music['data']['song']['list']
    #跟剥洋葱似的,一层一层获取列表/字典
    for i in o_music:
        #把o_music放进i遍历循环,o_music有多少数据i就循环多少次
        song_name=i['name']
        #打印i包含的name,为歌曲名
        song_Album=i['album']['name']
        #打印i包含的album,album包含的name
        song_url='https://y.qq.com/n/yqq/song/'+i['mid']+'.html'
        #打印https://y.qq.com/n/yqq/song/+mid+.html,就是歌曲的链接

        #--------------------------分割线-----------------------------------

        sheet.append([song_name,song_Album,song_url])
wb.save('music.xlsx')#保持文件,并命名为music
分享到 :
相关推荐

python爬取周杰伦200首隐藏歌曲

获取歌单文件:经过检查我们发现歌曲并不在网页源码中,既然不是媒体文件,自然只会是在X...

零基础Python开发教程

这是一套为零基编程学习者撰写的Python入门教程。从初学者的角度出发,通过能和小白...

价值百元的Python二级考试题库「附带答案」

软件介绍:不久以前,“Python”出现在了计算机二级考试科目中,Python在全国...

女朋友生气了怎么办?用Python发1万句我爱你哄好

说明:女朋友生气了让你给她发1000句道歉怎么办,用python的itchat模块,...

python最全教程-价值千元

学习Python有什么好的呐?好处简直太多了!它上手简单,回报巨大。它具有丰富的we...

python爬取豆瓣TOP250-再也不愁没电影看

你需要本地安装requests库和BeautifulSoup库若你代码在IDE里面运...