如何学习Python爬虫,爬虫的难点其实并不在于爬虫本身。而是各种各样的反爬虫措施。下面以一个小案例分享一下,带你们领略一下python的魅力。
如何学习Python爬虫,爬虫的难点其实并不在于爬虫本身。而是各种各样的反爬虫措施。下面以一个小案例分享一下,带你们领略一下python的魅力。
如何学习Python爬虫,爬虫的难点其实并不在于爬虫本身。而是各种各样的反爬虫措施。下面以一个小案例分享一下,带你们领略一下python的魅力。
爬取《悲伤逆流成河》猫眼信息,项目源码分享:
1 ''' 2 在学习过程中有什么不懂得可以加我的 3 python学习交流扣扣qun,934109170 4 群里有不错的学习教程、开发工具与电子书籍。 5 与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容。 6 ''' 7 import requests 8 from fake_useragent import UserAgent 9 import json10 import pymongo11 12 #保存到数据库13 clien=pymongo.MongoClient(host='填写数据库IP')14 db=clien.The_cat_s_eye_essay15 coll=db.eye_essay16 17 #创建一个随机生成user-aengt的对象18 ua=UserAgent()19 20 #提取我们要的短评21 def parse_json(json):22 if json:23 items=json.get('cmts')24 i=025 for item in items:26 data={27 'ID':item.get('nickName'),28 '短评':item.get('content'),29 '评分':item.get('score'),30 '用户地点':item.get('cityName'),31 '评论时间':item.get('startTime'),32 '回复数':item.get('reply'),33 '性别':item.get('gender')34 }35 #coll.insert_one(data)36 print(data)37 38 39 40 41 def Crawl_JSON():42 ua = UserAgent()43 headers={44 'User-Agent':ua.random,45 'Host':'m.maoyan.com',46 'Referer':'http://m.maoyan.com/movie/1217236/comments?_v_=yes'47 }48 49 #猫眼电影短评接口50 #因为猫眼的数据是AJAX类型的 里面的offset是改变的 第一次是0 第二次15 第三次是30 以此类推 这个page 相当于100/15然后循环51 #可以自信观察猫眼AJAX数据请求参数 就会知道了52 page=10053 u=054 for i in range(page):55 try:56 offset=u57 startTime = '2018-10-11'58 comment_api = 'http://m.maoyan.com/mmdb/comments/movie/1217236.json?_v_=yes&offset={0}&startTime={1}%2021%3A09%3A31'.format(offset,startTime)59 #发送get请求60 response_coment=requests.get(url=comment_api,headers=headers)61 json_comment=response_coment.text62 json_comments=json.loads(json_comment)63 parse_json(json_comments)64 u+=1565 except Exception as e:66 print('出现错误:',e.args)67 68 69 70 parse_json(Crawl_JSON())