爬虫学习

news/2024/7/19 12:33:06 标签: 爬虫

爬虫学习

  1. 3.

爬虫深度优先和广度优先">爬虫深度优先和广度优先

网站URL结构图

爬取网页会存在环路的情况:比如导航栏
环路URL

通过URL去重,跳过已经爬取的URL

深度优先

按照垂直进行(scrapy是用这个方法)

深度优先

深度优先算法:

def depth_tree(tree_node):
    if tree_node is not None:
        print(tree_node._data)
        if tree_node._left is not None:
            return depth_tree(tree_node._left)
        if tree_node._right is not None:
            return depth_tree(tree_node._right)

i

广度优先

按照层次进行访问

广度优先

广度优先算法:

# 广度优先算法
def level_queue(root):
    # 利用队列实现树的广度优先遍历
    if root is None:
        return
    my_queue = []
    node = root
    my_queue.append(node)
    while my_queue:
        node=my_queue.pop(0)
        print(node.elem)
        if node.lchild is not None:
            my_queue.append(node.lchild)
        if node.rchild is not None:
            my_queue.append(node.rchild)

爬虫去重策略">爬虫去重策略

  1. 将访问过的URL保存经过md5方法哈希后到set中
  2. bitmap方法,将访问过的URL通过hash函数映射到某一位,用0,1表示有没有存储数据,用地址表示URL映射
bitbitbitbitbitbitbitbit
01111000

1. bloomfilter方法对bitmap进行改进,多重hash函数降低冲突

通过伯乐在线

1.  伯乐在线的文章结构:
2.  文章首页,每一页,下一页    

调试方法:直接通过scrapy命令进行调试
调试方法

调试命令在这个里面:
这里写图片描述


http://www.niftyadmin.cn/n/1144669.html

相关文章

python可视化工具:matplotlib+pyecharts使用详解

准备一、matplotlib快速入门二、matplotlib进阶–绘制常见的图表1、绘制折线图2、绘制柱状图3、绘制条形图4、绘制直方图5、绘制饼状图6、绘制散点图7、绘制堆叠图 三、matplotlib进阶–综合应用四、matplotlib进阶-优化图形1、优化柱状图2、利用subplot绘制多幅图形 五、matpl…

算法图解[Aditya Bhargava]--读书笔记

前导:读书笔记中涉及的实现代码地址链接 一、算法复杂度通过时间复杂度表示O(n) 大O表示法是一种特殊的表示法,指出了算法的速度有多快。 一些常见的大 O 运行时间: O(log n),也叫对数时间,这样的算法包…

机器学习常用距离

一、欧氏距离(Euclidean Distance): 欧氏距离是最容易直观理解的距离度量方法,我们小学、 初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离: d12(x1−x2)2(y1−Y2)2−−−−−−−−−−−…

机器学习十大算法之一:决策树

一、决策树模型概述 1.决策树模型(Decision Tree Model) 出发点:模拟人决策思想的过程,决策树基于树结构进行预测。是一种树形结构,每个内部节点表示一个属性上的判断每个分支对应该判断的一种可能结果(即该属性的某个取值)每个叶节点代表一…

向量基础知识

向量表示: 一个向量记为:a⃗ AB−→−;向量的长度称为馍,也叫做向量的范数,记做:|a⃗ |一个向量记为:a→AB→;向量的长度称为馍,也叫做向量的范数,记做:|a→|设a(x,y),b(x’,y’). 一、向量的…

机器学习十大算法之二:KNN

一、KNN(K Near Neighbor)算法详解 一、概念: KNN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。 如:“近朱者赤,近墨者黑” 最近邻 (k-Nearest Neighbors…

机器学习十大算法之三K-means

K-means算法 (无监督算法,聚类算法) K-means算法,也称为K平均或K均值算法; K平均聚类的目的是:把n个点(可以是样本的一次观察或一个实例)划分到k个聚类中,使得每个点都…

同济数学之行列式--读书笔记

同济数学五版 一、行列式 1.二阶三阶行列式 求解下面的x1,x2x1,x2{a11x1a12x2b1a21x1a22x2b2(1)(1){a11x1a12x2b1a21x1a22x2b2\begin{cases} a_{11}x_1 + a_{12}x_2 = b_1 \\a_{21}x_1 + a_{22}x_2 = b_2 \tag{1} \end{cases} x1b1a22−a12b2a11a22−a12a21,x1b1a22−a12b2a…