博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python爬虫项目实战-爬取猫眼电影
阅读量:5251 次
发布时间:2019-06-14

本文共 2214 字,大约阅读时间需要 7 分钟。

如何学习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())

 

转载于:https://www.cnblogs.com/xiaoyiq/p/11441467.html

你可能感兴趣的文章
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
linux sed命令
查看>>
html标签的嵌套规则
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
tju 1782. The jackpot
查看>>
HTML5与CSS3基础(五)
查看>>
WinDbg调试C#技巧,解决CPU过高、死锁、内存爆满
查看>>
linux脚本中有source相关命令时的注意事项
查看>>
css样式表中的样式覆盖顺序
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
REST Web 服务(二)----JAX-RS 介绍
查看>>
hdu1255扫描线计算覆盖两次面积
查看>>
hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
查看>>