网络爬虫-知乎Live-Live评论与观众-MongoDB数据库
1.解析了AjAx动态加载地址
2.键值型MongoDB数据库
代码如下:
首先先获取zhihu-live中的各个Live链接地址
import json, time
import random
import requests
from pymongo import MongoClientclient = MongoClient('localhost', 27017)
db = client.zhihu_live
collection = db.zhihu_liveis_end = False
link = 'https://api.zhihu.com/lives/homefeed?includes=live'def scrapy(link):headers = {'authority': 'api.zhihu.com','origin': 'https: //www.zhihu.com','referer': 'https: //www.zhihu.com/lives/897097999497437184/related','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)\AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132\Safari/537.36'}try:r = requests.get(link, headers=headers)return r.textexcept Exception as e:print('Error:', e)scrapy(link)while not is_end:html = scrapy(link)decodejson = json.loads(html)collection.insert_one(decodejson)link = decodejson['paging']['next']is_end = decodejson['paging']['is_end']time.sleep(random.randint(2, 3) + random.random())
然后获取各个live链接地址里的观众id等信息
import json, time
import random
import requests
from pymongo import MongoClientclient = MongoClient('localhost', 27017)
db = client.zhihu_live
collection = db.zhihu_livedef get_audience(live_id):headers = {'authority': 'api.zhihu.com','origin': 'https: //www.zhihu.com','referer': 'https: //www.zhihu.com/lives/897097999497437184/related','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)\AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132\Safari/537.36'}link = 'https://api.zhihu.com/lives/' + live_id + '/members?limit=10&offset=0'is_end = Falsewhile not is_end:try:r = requests.get(link, headers=headers)html = r.textdecodejson = json.loads(html)decodejson['live_id'] = live_iddb.zhihu_live_audience.insert_one(decodejson)link = decodejson['paging']['next']is_end = decodejson['paging']['is_end']time.sleep(random.randint(2, 3) + random.random())except Exception as e:print('Error:', e)def id_get():firt_page = collection.find_one()for each in firt_page['data']:live_id = each['live']['id']print(each['live']['id'], '\t', each['live']['speaker']['member']['name'])get_audience(live_id)if __name__ == '__main__':id_get()
测试运行结果如下图
网络爬虫-知乎Live-Live评论与观众-MongoDB数据库相关推荐
- python网页数据存入数据库_python网络爬虫抓取动态网页并将数据存入数据库MySQL...
简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...
- python网站数据写入mysql_python网络爬虫抓取动态网页并将数据存入数据库MySQL
简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...
- 人工智能(网络爬虫)
8.2.1 网络爬虫 1.概念与原理 网络爬虫(又称为网络蜘蛛.网络机器人,在FOAF社区中更经常称为网页追逐者)是按照一定的规则自动抓取万维网信息的程序或脚本.另外一些不经常使用的名字还有写蚁.自动 ...
- python网络爬虫用到哪些技术_做Python网络爬虫需要掌握哪些核心技术?
在当下这个社会,如何有效地提取并利用信息成为一个巨大的挑战.基于这种巨大的市场需求,爬虫技术应运而生,这也是为什么现在爬虫工程师的岗位需求量日益剧增的原因.那么做Python网络爬虫需要掌握哪些核心技 ...
- Python 网络爬虫实战:爬取知乎回答中的全部图片
平时逛知乎的时候,经常能看到很多很棒的图片,精美的壁纸,搞笑的表情包,有趣的截图等等,总有想全部保存下来的冲动. 于是在一个小老弟的拜托之下,我把之前的知乎爬虫改造了一下,改装成了一个可以下载知乎回答 ...
- 爬虫python能做什么 知乎,python网络爬虫能做什么
python爬虫能做什么 世界上80%的爬虫是基于Python开发的,学好爬虫技能,可为后续的大数据分析.挖掘.机器学习等提供重要的数据源.什么是爬虫? (推荐学习:Python视频教程)网络爬虫(又 ...
- python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论
新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...
- Python 网络爬虫实战:猫眼电影 38950 条评论数据告诉你《无名之辈》是否值得一看?
11月16日,一部无流量明星.无大制作.无大IP的"三无"国产电影<无名之辈>上映后,竟然连续打败了超级英雄"毒液".会魔法的"神奇动物& ...
- 【Python网络爬虫】Python网络爬虫案例:知乎Live
Python网络爬虫案例:知乎Live 涉及的技术包括以下3种: 爬取网页:解析Ajax动态加载地址 解析网页:提取JSON数据 存储数据:存储至MongoDB数据库 1.项目描述 知乎Live的UR ...
最新文章
- 马少平、周枫、王小川、楼天城、唐文斌……清华计算机系与人工智能的40年...
- PAT - L1-020. 帅到没朋友(裸并查集)
- 每日一皮:如何用一句话让领导和同事都尴尬至极?
- Hyper-V 2016 系列教程15 Hyper-V Cmdlets PowerShell 命令提示符
- man-翻译和epoll相关的内容,部分
- 283. Move Zeroes(数组篇)
- koa --- nunjucks在Koa中的使用、中间件的配置
- ajax请求web服务返回json格式
- C语言 error C4996: This function or variable may be unsafe - C语言零基础入门教程
- 手动创建git忽略push清单,node_module以及自身
- react-native ios打包和Android打包
- Python使用pip自动升级所有第三方库
- 单调栈求全1(或全0)子矩阵的个数 洛谷P5300与或和 P3400仓鼠窝
- 2020年最好用的手机是哪一款_2020年换手机不用盲目,目前这4部最值得买,好看好用性价比高...
- 支付宝APP支付功能开发
- 如何更新TeamViewer电脑客户端?
- Python 爬取百万网易云音乐热门评论
- 能自动摊铺施工的公路滑模机多少钱一台
- FPGA协同验证方法-资料整理
- 罗杨美慧 20190919-3 效能分析
热门文章
- Android使用Glide加载Gif慢 获取gif时间
- Python的注释快捷键方法
- 气体在线监测仪——排水管井内的有害气体监测
- 电工学复习【5】-- 半导体器件
- 置信度和置信度区间理解
- 少儿编程开讲了:围棋AI人工智能是如何设计的?揭秘AI神秘面纱!
- Certificate doesn't match any of the subject alternative names问题的解决
- CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning,squeezenet
- 如何对接淘宝开放平台API接口(超详细)
- python 最好用的数据库模块_Python 使用pymysql模块操作数据库