解读:Python爬取的算法题库大全(附答案),共1643题,从入门到精通

优采云 发布时间: 2020-09-06 02:14

  用于Python爬网的算法问题库(包括答案​​),从入门到熟练程度共1643个问题

  什么是LeetCode?

  众所周知,在许多网站的学习算法或刷卡算法问题中,雷口在中国算作TOP1。因此,荔口在互联网界颇有名气。

  许多研发工程师和算法工程师活跃于其中,现在许多互联网公司的面试问题都在[li9]题库中。因此,互联网上的许多求职者都被要求在此处填写问题以提高他们的算法能力。

  

  Python爬行力推导数据

  一、获取所有问题的列表

  首先,我们的目标是获取所有LeetCode的问题库,当前的LeetCode问题库共有1643个算法问题。因此,我们需要获取所有这1643个问题,然后使用相应的数据结构或存储方法来存储这些问题。我的选择是mysql数据库。 (有关该主题的详细说明,我使用数据库和Word文档存储的双重方法!)

  

  其次,我们需要在LeetCode中分析这些问题的存储形式,以便我们可以使用Python进行爬网。我们可以访问LeetCode,我们可以看到主页上有几个选项卡。它们是序列号,标题名称,问题答案,所有提交的答案的通过率,问题的难度以及面试的出现频率。

  

  通过分析,我们可以发现每个主题都使用表中的行,该行由tr标记存储,并且每行中的特定字段由tr中的td表示,因此我们可以继续进行选择器元素定位,获取我们想要的特定内容。

  最后,在分析的这一点上,我们可以首先建立基本数据模型,对对我们有用的数据建模,然后丢弃对我们无用的数据。有用的数据包括主题名称,主题难度和出现频率。

  

  获取这些信息后,我们还需要分析一些隐藏的有用信息,例如每个主题的特定地址URL以及与该主题对应的问题解决方案URL,以便我们在查找时可以提供方便和特定的位置每个主题的详细说明每个主题的URL如上图所示。了解了这些信息后,我们可以使用Python + Selenium一次将所有主题存储在数据库或Word文档中。

  编写python代码后,运行后存储在数据库中的数据如下图所示。

  

  二、获取与主题相对应的描述信息

  通过上述操作,我们已经在LeetCode中获得了所有主题,但是我们仅获得每个主题的名称,我们不知道该主题的具体含义。因此,我们需要进一步的数据处理。应该怎么做?

  读取我们从数据库保存的数据。这时,我们得到了一个元组集合。我们遍历此集合,获取每个数据,并有针对性地处理每个数据。例如,第一个数据。

  1 两数之和 3738 48.4% 简单 题目url 题解url

  

  遍历时,我们将获得上述元组数据。此步骤有用的数据是标题所描述的url地址,然后我们取出该url地址,然后传递python来访问此地址,并获得标题来描述信息,然后将描述文本更新为该数据。

  如下图所示,红色框中的信息是我们现在需要的信息,因为红色框上方的“两个数字之和”已在上一操作中存储在数据库中。只需遍历此操作。一次,将描述文本保存在数据库的红色框中。

  

  遍历1643年数据后,我们可以获得每个主题和相应主题的详细描述信息。并且此信息已存储在数据库中。效果图如下。

  

  事实上,目前,我们已经完成了所有LeetCode问题库的爬网。将这些信息存储在数据库中的好处是,您可以根据自己的练习能力选择相应的难度。因此,如果我们没有足够的时间回答问题,我们想直接看看问题的答案是什么?

  实际上,这非常简单。我们使用Python来针对每个问题抓取不同的解决方案和代码。然后将其存储在Word文档中,将Word文档存储在手机或计算机上,以便我们可以随时随地离线学习算法,这是否非常方便,在这里,我已经抓取了所有问题的详细解决方案和答案并存储在mysql和word中。

  

  

  摘要

  数千种算法,首先巩固基础!没有最好的算法,没有通用算法,只有最好的算法!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线