All Projects → NightMarcher → zhihu-crawler

NightMarcher / zhihu-crawler

Licence: other
徒手实现定时爬取知乎,从中发掘有价值的信息,并可视化爬取的数据作网页展示。

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to zhihu-crawler

Netdiscovery
NetDiscovery 是一款基于 Vert.x、RxJava 2 等框架实现的通用爬虫框架/中间件。
Stars: ✭ 573 (+923.21%)
Mutual labels:  spider, selenium
Zhihu Crawler
zhihu-crawler是一个基于Java的高性能、支持免费http代理池、支持横向扩展、分布式爬虫项目
Stars: ✭ 890 (+1489.29%)
Mutual labels:  spider, zhihu
Infospider
INFO-SPIDER 是一个集众多数据源于一身的爬虫工具箱🧰,旨在安全快捷的帮助用户拿回自己的数据,工具代码开源,流程透明。支持数据源包括GitHub、QQ邮箱、网易邮箱、阿里邮箱、新浪邮箱、Hotmail邮箱、Outlook邮箱、京东、淘宝、支付宝、中国移动、中国联通、中国电信、知乎、哔哩哔哩、网易云音乐、QQ好友、QQ群、生成朋友圈相册、浏览器浏览历史、12306、博客园、CSDN博客、开源中国博客、简书。
Stars: ✭ 5,984 (+10585.71%)
Mutual labels:  spider, selenium
SchweizerMesser
🎯Python 3 网络爬虫实战、数据分析合集 | 当当 | 网易云音乐 | unsplash | 必胜客 | 猫眼 |
Stars: ✭ 89 (+58.93%)
Mutual labels:  spider, selenium
Decryptlogin
APIs for loginning some websites by using requests.
Stars: ✭ 1,861 (+3223.21%)
Mutual labels:  spider, zhihu
Zhihu Login
知乎模拟登录,支持提取验证码和保存 Cookies
Stars: ✭ 340 (+507.14%)
Mutual labels:  spider, zhihu
Funpyspidersearchengine
Word2vec 千人千面 个性化搜索 + Scrapy2.3.0(爬取数据) + ElasticSearch7.9.1(存储数据并提供对外Restful API) + Django3.1.1 搜索
Stars: ✭ 782 (+1296.43%)
Mutual labels:  spider, zhihu
weibo topic
微博话题关键词,个人微博采集, 微博博文一键删除 selenium获取cookie,requests处理
Stars: ✭ 28 (-50%)
Mutual labels:  spider, selenium
Examples Of Web Crawlers
一些非常有趣的python爬虫例子,对新手比较友好,主要爬取淘宝、天猫、微信、豆瓣、QQ等网站。(Some interesting examples of python crawlers that are friendly to beginners. )
Stars: ✭ 10,724 (+19050%)
Mutual labels:  spider, selenium
Zhihu Spider
知乎爬虫程序,定时跟踪问题数据,定时推送热门话题
Stars: ✭ 87 (+55.36%)
Mutual labels:  spider, zhihu
zhihu
搜索你的知乎收藏:可以直观地浏览你的所有收藏夹的内容,并进行全文搜索
Stars: ✭ 39 (-30.36%)
Mutual labels:  spider, zhihu
Python3 Spider
Python爬虫实战 - 模拟登陆各大网站 包含但不限于:滑块验证、拼多多、美团、百度、bilibili、大众点评、淘宝,如果喜欢请start ❤️
Stars: ✭ 2,129 (+3701.79%)
Mutual labels:  spider, selenium
OpenYspider
千万级图片爬虫、视频爬虫 [开源版本] Image Spider
Stars: ✭ 122 (+117.86%)
Mutual labels:  spider, selenium
Spiders
Python爬虫,返回一定格式的信息,下载,使用flask提供简易api。抖音无水印、皮皮虾、快手、网易云音乐、qq音乐、咪咕音乐、荔枝FM音频、知乎视频、最右语音、视频、微博......
Stars: ✭ 372 (+564.29%)
Mutual labels:  spider, zhihu
Spider
Spider项目将会不断更新本人学习使用过的爬虫方法!!!
Stars: ✭ 16 (-71.43%)
Mutual labels:  spider, selenium
Python Spider
豆瓣电影top250、斗鱼爬取json数据以及爬取美女图片、淘宝、有缘、CrawlSpider爬取红娘网相亲人的部分基本信息以及红娘网分布式爬取和存储redis、爬虫小demo、Selenium、爬取多点、django开发接口、爬取有缘网信息、模拟知乎登录、模拟github登录、模拟图虫网登录、爬取多点商城整站数据、爬取微信公众号历史文章、爬取微信群或者微信好友分享的文章、itchat监听指定微信公众号分享的文章
Stars: ✭ 615 (+998.21%)
Mutual labels:  spider, selenium
Pythonspidernotes
Python入门网络爬虫之精华版
Stars: ✭ 5,634 (+9960.71%)
Mutual labels:  selenium, zhihu
Zhihu fun
基于 Selenium 的知乎关键词爬虫
Stars: ✭ 185 (+230.36%)
Mutual labels:  selenium, zhihu
Alipayspider Scrapy
AlipaySpider on Scrapy(use chrome driver); 支付宝爬虫(基于Scrapy)
Stars: ✭ 70 (+25%)
Mutual labels:  spider, selenium
Pddspider
拼多多爬虫,爬取所有商品、评论等信息
Stars: ✭ 121 (+116.07%)
Mutual labels:  spider, selenium

ZhihuCrawler

徒手实现定时爬取知乎,从中发掘有价值的信息,并可视化爬取的数据作网页展示。项目目前正在开发,欢迎前来交流学习!

问题及解决方案

  • 日志 程序运行时统一初始化。由于logging应用了单例模式,之后可以直接使用配置好的logging
  • 第三方库版本管理 Pipenv,功能强大,方便易用
  • 代码版本控制 Git,使用.gitignore来忽略日志文件夹、vim临时文件、缓存文件文件夹
  • 配置管理 Yaml,可读性好,语法简单
  • 文件组织 将相同功能的文件放于同一文件夹下,*.py文件组织成包
  • 性能分析 使用自己定义的装饰器函数来测量函数运行的时间
  • 数据爬取 使用Selenium + Webdriver爬取动态网页,使用Requests库请求部分已有接口
  • 数据解析 Xpath,速度快,使用简单
  • 爬取标记 使用Redis存储已爬取的话题id及其下信息的摘要值,数据类型选取为hash
  • 数据序列化方式选取 Json,通用序列化方案
  • 摘要算法选取 MD5,选择原因见Hashing Algorithms In Python。此外经测试,base16速度仅次于MD5,base64次于base16,base32最慢;整体而言,直接加密'汉字'类型的字符串,比加密'\u6c49\u5b57'类型的字符串速度要快,因此json.dumps的时候ensure_ascii参数要设置为False
  • 数据持久化 MongoDB,时间类型数据统一存储为格林尼治时间
  • 定时任务 Flask-APScheduler,使用简单,轻量级方案,且支持多种数据库的持久化
  • 任务管理 Supervisor方便易用
  • 并发实现 Multiprocessing.dummy多线程,易于移植,方法简单
  • 话题树建立及展示
  • 网页展示 Flask框架 + Bootstrap-Flask
  • 话题关注人数及问题数可视化 使用Pyecharts 1.0,已基本实现(散点图显示异常,待观察)
  • 热门关键词爬取、处理及可视化 Worldcloud + Jieba
  • 获取访问页面的用户IP,并分析其所在区域
  • 统计访问每一个页面的用户数量
  • 页面数据使用Redis做缓存,避免加载可视化数据时都要进行计算的问题
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].