【Python】基于requests库对去哪儿景点评论信息的爬取

效果如图:

6fc3a77f05dc5d6588f54d8ea0fc0ab4.png

和驴妈妈的同理,修改data中id就可以对其他景点进行爬虫


from gevent import monkey
monkey.patch_all()
import gevent
import openpyxl
import requests
import time

finishPage = 0
allList = []
page = 2
def comment(sightId,page):
    url = "https://piao.qunar.com/ticket/detailLight/sightCommentList.json"
    params = {
        "sightId":str(sightId),
        "index":str(page),
        "page":str(page),
        "pageSize":"10",
        "tagType":"0",
    }
    headers = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36",
    }
    res = requests.get(url=url,headers=headers,params=params,timeout=5)
    #判断服务器返回数据是否正确
    while res.text[1] == "r":
        res = requests.get(url=url,headers=headers,params=params,timeout=5)
    else:
        pass
    
    results  = res.json()["data"]
    for result in results["commentList"]:
        #评论者id
        author = result["author"]
        #评论日期
        publishedDate = result["date"]
        #总评分
        score = result["score"]
        #图片数量
        imgNum = len(result["imgs"])
        #评论内容
        text = result["content"]
        
        commentList = [author,publishedDate,score,imgNum,text]
        allList.append(commentList)
        print(commentList)
    time.sleep(5)

def storage(name,reviewsList):
    header = ['评论者ID','评论日期','总评分','图片数量','文本评论']
    wb = openpyxl.Workbook()
    sheet = wb.active
    sheet.title = "commentInfo"
    sheet.append(header)
    for reviewList in reviewsList:
        sheet.append(reviewList)
    wb.save("存储/去哪儿 " + name + "'s "+ 'comment.xlsx')

if __name__ == "__main__":
    taskList = []
    for i in range(1,301): 
        try:
    #     task = gevent.spawn(comment,191026,i)
    #     taskList.append(task)
    # gevent.joinall(taskList)       
            comment(191026,i)
        except:
            pass
        
    storage("windows of the world",allList)
    print(len(allList))

 

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君和-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值