scapy递归爬
来源:互联网 发布:java 连接池 编辑:程序博客网 时间:2024/05/12 00:32
前面介绍了Scrapy如何实现一个最简单的爬虫,但是这个Demo里只是对一个页面进行了抓取。在实际应用中,爬虫一个重要功能是”发现新页面”,然后递归的让爬取操作进行下去。
发现新页面的方法很简单,我们首先定义一个爬虫的入口URL地址,比如《Scrapy入门教程》中的start_urls,爬虫首先将这个页面的内容抓取之后,解析其内容,将所有的链接地址提取出来。这个提取的过程是很简单的,通过一个html解析库,将这样的节点内容提取出来,href参数的值就是一个新页面的URL。获取这个URL值之后,将其加入到任务队列中,爬虫不断的从队列中取URL即可。这样,只需要为爬虫定义一个入口的URL,那么爬虫就能够自动的爬取到指定网站的绝大多数页面。
当然,在具体的实现中,我们还需要对提取的URL做进一步处理:
1. 判断URL指向网站的域名,如果指向的是外部网站,那么可以将其丢弃
2. URL去重,可以将所有爬取过的URL存入数据库中,然后查询新提取的URL在数据库中是否存在,如果存在的话,当然就无需再去爬取了。
下面介绍一下如何在Scrapy中完成上述这样的功能。
我们只需要改写spider的那个py文件即可,修改parse()方法代码如下:
- scapy递归爬
- scapy递归爬
- scapy
- Scapy
- scapy
- scapy document
- scapy rdpcap
- scapy ip
- Scapy + Nfqueue
- Scapy--1--
- scapy安装
- Scapy 文摘
- scapy初识
- 安装scapy插件 scapy-ssl_tls plugin
- scapy安装and简介
- centos 安装 scapy
- scapy使用入门
- Scapy基础学习之一
- oracle静态监听和动态监听
- 拓扑排序(谢庆皇)
- Com组件和一般DLL的区别
- 如欲采蜜,勿蹴蜂房
- Linux中fdisk分区使用方法
- scapy递归爬
- 小程序(1)——输出S形数组
- Tomcat 启动 需要初始化元素 Listener
- 事务处理SqlTransaction
- sizeof()功能
- monkey测试
- 面试指南 笔记(八) typedef 和 define
- android过滤第三应用列表
- java 方法 可变类型