普通网友 2017-11-23 05:47 采纳率: 100%
浏览 3817
已采纳

python爬虫爬取腾讯新闻评论

python小白一枚,刚开始学爬虫,遇到一个动态网页爬取问题,请教各位大神。
需要爬取http://view.news.qq.com/original/intouchtoday/n4083.html
这篇新闻的评论内容,
图片说明
但是在找到了目标request url:
http://coral.qq.com/article/2243032968/comment?commentid=0&reqnum=10&tag=&ca,llback=mainComment&_=1511408574390
,不知道怎么提取里面的评论内容,且里面的内容类似于\u***这样的乱码

  • 写回答

3条回答 默认 最新

  • oyljerry 2017-11-23 06:09
    关注

    需要先把内容的mainComment()去掉,它里面是一个json,然后就可以处理,\u是表示unicode的字符。

    In [24]: sess = requests.Session()
    In [24]: sess.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Geck
        ...: o) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'})
    In [24]: res = sess.get("http://coral.qq.com/article/2243032968/comment?commentid=0&reqnum=10&tag=&callback=mainCommen
        ...: t&_=1511408574390")
     g = re.match("mainComment\\((.+)\\)", res.text)
     In [24]: out = json.loads(g.group(1))
     In [23]: print(out["data"]["commentid"][0]["content"])
    方便面可以吃不放调料,自己煮,自己搭配
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • MaxZhang666666 2017-11-23 06:15
    关注

    把这个接口拿到的数据转换成json对象就行了

    类似于

     \u***
    

    这样的数据是Unicode编码的字符串

    转码一下就好了

    评论
  • ljheee 2017-11-23 06:29
    关注

    你可以先找一个简单一点的现成的小demo

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 页面调接口时加载卡住不响应
  • ¥35 用C语言解决编程问题
  • ¥15 unity硬件连接与使用
  • ¥15 鱼缸加热棒的数据分析或者实际案例也行
  • ¥15 postgresql11安装完成后,pgadmin无法启动
  • ¥15 (标签-无人机|关键词-Matlab代码)
  • ¥15 执行shell脚本提示参数太多
  • ¥15 困扰好久了,电脑的串口调试助手向单片机发送一个字符(如:字符‘1’到‘8’),单片机点亮对应的灯(如发送字符‘2’则点亮第2个灯)并给电脑回复信息:已点亮第x个灯(其中 x 要替换成对应的数字)
  • ¥15 求减少这个c++程序内存的解决方案
  • ¥30 改正代码,错误比较多