导航:首页 > 源码编译 > 知乎软件源码

知乎软件源码

发布时间:2024-11-19 17:25:51

⑴ 如何用JAVA写一个知乎爬虫

下面说明知乎爬虫的源码和涉及主要技术点:
(1)程序package组织

(2)模拟登录(爬虫主要技术点1)
要爬去需要登录的网站数据,模拟登录是必要可少的一步,而且往往是难点。知乎爬虫的模拟登录可以做一个很好的案例。要实现一个网站的模拟登录,需要两大步骤是:(1)对登录的请求过程进行分析,找到登录的关键请求和步骤,分析工具可以有IE自带(快捷键F12)、Fiddler、HttpWatcher;(2)编写代码模拟登录的过程。

(3)网页下载(爬虫主要技术点2)
模拟登录后,便可下载目标网页html了。知乎爬虫基于HttpClient写了一个网络连接线程池,并且封装了常用的get和post两种网页下载的方法。

(4)自动获取网页编码(爬虫主要技术点3)
自动获取网页编码是确保下载网页html不出现乱码的前提。知乎爬虫中提供方法可以解决绝大部分乱码下载网页乱码问题。

(5)网页解析和提取(爬虫主要技术点4)
使用Java写爬虫,常见的网页解析和提取方法有两种:利用开源Jar包Jsoup和正则。一般来说,Jsoup就可以解决问题,极少出现Jsoup不能解析和提取的情况。Jsoup强大功能,使得解析和提取异常简单。知乎爬虫采用的就是Jsoup。

(6)正则匹配与提取(爬虫主要技术点5)
虽然知乎爬虫采用Jsoup来进行网页解析,但是仍然封装了正则匹配与提取数据的方法,因为正则还可以做其他的事情,如在知乎爬虫中使用正则来进行url地址的过滤和判断。

(7)数据去重(爬虫主要技术点6)
对于爬虫,根据场景不同,可以有不同的去重方案。(1)少量数据,比如几万或者十几万条的情况,使用Map或Set便可;(2)中量数据,比如几百万或者上千万,使用BloomFilter(着名的布隆过滤器)可以解决;(3)大量数据,上亿或者几十亿,Redis可以解决。知乎爬虫给出了BloomFilter的实现,但是采用的Redis进行去重。

(8)设计模式等Java高级编程实践
除了以上爬虫主要的技术点之外,知乎爬虫的实现还涉及多种设计模式,主要有链模式、单例模式、组合模式等,同时还使用了Java反射。除了学习爬虫技术,这对学习设计模式和Java反射机制也是一个不错的案例。
4. 一些抓取结果展示

⑵ “知乎·应用工程”OpenGeoSys(OGS)使用指南——开发者指南——开始入门——构建配置(Windows)

编译OpenGeoSys(OGS)之前,开发者需选择软件配置,配置选项包括串行/并行化,以及可选功能或模块如MFront材料模型。为了分离源代码与生成文件,创建build目录,它们可任意放置。为不同配置可创建多个build目录,但共享一个源代码目录。典型目录结构包括:

(1)release

(2)debug

构建配置使用开源工具CMake。CMakeLists.txt文件替代传统Makefile或IDE项目文件。CMakeLists.txt内定义的配置预设,如CMakePresets.json,简化构建配置过程。若需手动配置,遵循CMake命令行指南。Ninja构建工具在Visual Studio命令行中启用,通过在x64 Native Tools Command Prompt for VS 2019中进行设置。Windows Terminal提供更佳终端体验。CMake GUI图形工具用于可视化配置,通过设置源代码目录、build目录,选择生成器(如Visual Studio 16 2019),并激活所需配置选项。生成按钮激活后,点击生成以在选定build目录生成项目文件。

为了创建特定配置,仅需删除现有build目录,新建一个目录并重新配置。使用CMake预置时,通过cmake命令并设置预置值,创建build目录外,包含CMake默认选项和所需配置。使用-D前缀传递CMake变量或选项,或使用-G参数覆盖生成器,-B参数覆盖构建目录。所有编译文件存储于此目录,避免源代码受中间文件影响。编译目录内容不受版本控制,可随时从源代码重新生成。若需重新开始配置,只需清除build目录并建立新目录。

用户自定义预置在源代码根目录下创建CMakeUserPresets.json文件,添加个人预设。这文件被Git忽略。Ninja构建工具与Visual Studio命令行结合使用。Visual Studio配置需要在release文件夹中打开解决方案文件时,切换至Release配置。使用Visual Studio进行多重配置时,每个configuration需要一个build目录。发布与调试版本通过创建两个build目录实现。在Visual Studio中,确保选择正确配置,即在release文件夹中打开解决方案文件时,配置应切换为Release。专业提示:使用Windows Terminal获得更佳终端体验。若CMake预置不可用,手动创建build目录并设置所有必要参数。若需使用可视化工具配置,CMake GUI图形工具提供设置源代码目录、build目录,选择生成器,激活配置选项的界面。最终点击生成按钮以在选定的build目录生成项目文件。

阅读全文

与知乎软件源码相关的资料

热点内容
反诈app在哪里下安全 浏览:745
python判断linux系统 浏览:823
git服务器如何启动 浏览:43
noi算法 浏览:461
zip解压缩是电脑自带的吗 浏览:643
魔术算法术吗 浏览:783
复式五肖算法 浏览:721
海康威视设备已加密 浏览:663
自适应路由算法 浏览:315
pythonxlwt写入一列 浏览:995
性之助app哪里可以下载 浏览:414
安卓如何自己改图标 浏览:848
如何去掉app资源库的建议 浏览:730
中兴研发面试要写算法吗 浏览:65
linux系统配置文件 浏览:601
php登录网页模板 浏览:931
windownginxphp 浏览:509
resync命令 浏览:536
dos命令手册 浏览:287
硅谷编程二维数组 浏览:41