Python爬虫,爬取百度小说网评论

#网址如下
#https://yuedu.baidu.com/ebook/0ab2967333687e21ae45a937###


import requests
import time
import xlwt
datalis=[]          #存储数据
def main():                #表示主函数
    np = 0                 #参数初始值
    aa = 1622449310856     #参数初始值
    for i in range(0,49):
        np+=10
        aa+=1
        url = f'https://yuedu.baidu.com/customer/api/bookcomment?act=get&doc_id=0ab2967333687e21ae45a937&type=3&pn={np}&rn=10&sort=0&_={aa}'
        fun(url)
def fun(url):           #请求数据
    #print(url)
    html = requests.get(url).json()
    time.sleep(2)
    print("以获取数据,开始 解析")
    fun1(html)
    #print(html)、
def fun1(html):             #解析数据,找到有用的数据
    for i in html['data']['comment']:
        lis=[]
        lis.append(i['reply_id'])        #获取id
        lis.append(i['create_time'])        #获取评论时间
        lis.append(i['uname'])            #获取名字
        lis.append(i['content'])          #获取评论
        #print('解析完成')
        #print(i)
        datalis.append(lis)
    print('解析完成',len(datalis)/10,'个')
def fun2(datalis):          #保存数据
    #print(datalis)
    print("开始存储!")
    book = xlwt.Workbook(encoding="utf-8", style_compression=0)  # 创建"workbook"对象
    sheet = book.add_sheet("小说网数据", cell_overwrite_ok=True)  # 创建工作表
    col = ["用户ID", "评论时间", "名字", "评论"]
    for i in range(0, 4):
        sheet.write(0, i, col[i])  # 列名
    for i in range(1, len(datalis)):
        print('已经存储',i - 1, '行数据')
        for j in range(0, len(datalis[i])):
            sheet.write(i, j, datalis[i - 1][j])
            book.save("小说网数据1.xls")
if __name__ == '__main__':
    main()
    fun2(datalis)

以上为本次所有源代码,感谢观看

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值