当前位置: 移动技术网 > IT编程>脚本编程>Python > Python爬虫项目实战-爬取猫眼电影

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

2019年09月01日  | 移动技术网IT编程  | 我要评论

地球仪图片,ca435,云南seo

如何学习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 json
10 import pymongo
11  
12 #保存到数据库
13 clien=pymongo.mongoclient(host='填写数据库ip')
14 db=clien.the_cat_s_eye_essay
15 coll=db.eye_essay
16  
17 #创建一个随机生成user-aengt的对象
18 ua=useragent()
19  
20 #提取我们要的短评
21 def parse_json(json):
22     if json:
23         items=json.get('cmts')
24         i=0
25         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=100
53     u=0
54     for i in range(page):
55         try:
56             offset=u
57             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.text
62             json_comments=json.loads(json_comment)
63             parse_json(json_comments)
64             u+=15
65         except exception as e:
66             print('出现错误:',e.args)
67  
68  
69  
70 parse_json(crawl_json())

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网