Python爬虫教程-爬取猫眼电影

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

爬取《悲伤逆流成河》猫眼信息
项目源码分享:
import requestsfrom fake_useragent import UserAgentimport jsonimport pymongo#保存到数据库clien=pymongo.MongoClient(host='填写数据库IP')db=clien.The_cat_s_eye_essaycoll=db.eye_essay#创建一个随机生成user-aengt的对象ua=UserAgent()#提取我们要的短评def parse_json(json):if json:items=json.get('cmts')i=0for 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=100u=0for i in range(page):try:offset=ustartTime = '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.textjson_comments=json.loads(json_comment)parse_json(json_comments)u+=15except Exception as e:print('出现错误:',e.args)parse_json(Crawl_JSON())

搜索下方加老师微信
老师微信号:XTUOL1988【切记备注:学习Python】
领取Python web开发,Python爬虫,Python数据分析,人工智能等精品学习课程。带你从零基础系统性的学好Python!
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权

评论
