首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python项目实战-爬取猫眼电影

Python项目实战-爬取猫眼电影

作者头像
python学习教程
发布2019-09-03 18:12:10
7460
发布2019-09-03 18:12:10
举报
文章被收录于专栏:python学习教程python学习教程

前言

Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取!

如何学习Python爬虫,爬虫的难点其实并不在于爬虫本身。而是各种各样的反爬虫措施。下面以一个小案例分享一下,带你们领略一下python的魅力。

爬取《悲伤逆流成河》猫眼信息

项目源码分享:

import requests
from fake_useragent import UserAgent
import json
import pymongo

#保存到数据库
clien=pymongo.MongoClient(host='填写数据库IP')
db=clien.The_cat_s_eye_essay
coll=db.eye_essay

#创建一个随机生成user-aengt的对象
ua=UserAgent()

#提取我们要的短评
def parse_json(json):
    if json:
        items=json.get('cmts')
        i=0
        for item in items:
            data={
                'ID':item.get('nickName'),
                '短评':item.get('content'),
                '评分':item.get('score'),
                '用户地点':item.get('cityName'),
                '评论时间':item.get('startTime'),
                '回复数':item.get('reply'),
                '性别':item.get('gender')
            }
            #coll.insert_one(data)
      print(data)




def Crawl_JSON():
    ua = UserAgent()
    headers={
        'User-Agent':ua.random,
        'Host':'m.maoyan.com',
        'Referer':'http://m.maoyan.com/movie/1217236/comments?_v_=yes'
    }

    #猫眼电影短评接口
    #因为猫眼的数据是AJAX类型的 里面的offset是改变的 第一次是0 第二次15 第三次是30 以此类推  这个page 相当于100/15然后循环
    #可以自信观察猫眼AJAX数据请求参数 就会知道了
    page=100
    u=0
    for i in range(page):
        try:
            offset=u
            startTime = '2018-10-11'
            comment_api = 'http://m.maoyan.com/mmdb/comments/movie/1217236.json?_v_=yes&offset={0}&startTime={1}%2021%3A09%3A31'.format(offset,startTime)
            #发送get请求
            response_coment=requests.get(url=comment_api,headers=headers)
            json_comment=response_coment.text
            json_comments=json.loads(json_comment)
            parse_json(json_comments)
            u+=15
        except Exception as e:
            print('出现错误:',e.args)



parse_json(Crawl_JSON())
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档