Python打印scrapy蜘蛛抓取树结构的方法
本文实例讲述了Python打印scrapy蜘蛛抓取树结构的方法。分享给大家供大家参考。具体如下:
通过下面这段代码可以一目了然的知道scrapy的抓取页面结构,调用也非常简单
#!/usr/bin/env python
import fileinput, re
from collections import defaultdict
def print_urls(allurls, referer, indent=0):
urls = allurls[referer]
for url in urls:
print ' '*indent + referer
if url in allurls:
print_urls(allurls, url, indent+2)
def main():
log_re = re.compile(r'<GET (.*?)> \(referer: (.*?)\)')
allurls = defaultdict(list)
for l in fileinput.input():
m = log_re.search(l)
if m:
url, ref = m.groups()
allurls[ref] += [url]
print_urls(allurls, 'None')
main()
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
asp下生成目录树结构的类
关于生成目录树结构的类 本程序有两文件test.asp 和tree.asp 还有一些图标文件 1.test.asp 调用类生成树 代码如下 <%@ Language=VBScript %> <html> <head> <link rel="stylesheet" href="tree.css"> <title>tree</title> </head> <!-- #include
-
C++二叉树结构的建立与基本操作
准备数据定义二叉树结构操作中需要用到的变量及数据等. 复制代码 代码如下: #define MAXLEN 20 //最大长度typedef char DATA; //定义元素类型struct CBTType //定义二叉树结点类型 { DATA data; //元素数据 CBTType * left; //左子树结点指针 CBTType * right; //右子树结点指针 }; 定义二叉树结构数据元素的类型DA
-
java根据数据库表内容生产树结构json数据的方法
1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List<Tree<Test>> trees = new ArrayList<Tree<Test>>(); tests.add(new Test("0", "", "关于本人")); tests.add(new
-
JavaScript几种形式的树结构菜单
1.悬浮层树(Tree) 这种树结构实现类似面包屑导航功能,监听的是节点鼠标移动的事件,然后在节点下方或右方显示子节点,依此递归显示子节点的子节点. 用户首页博客设置文章相册留言评论系统 这里要注意几个小问题,其一这种树结构是悬浮层绝对定位的,在创建层的时候一定要直接放在body的下面,这样做的是确保在IE里面能遮掩住任何层,因为在IE里面是有stacking context这种东西的潜规则在里面的,另外当然还有一个select你能遮住我吗?老掉牙的问题,这里是采用在每个悬浮层后面加个ifram
-
JAVA 根据数据库表内容生产树结构JSON数据的实例代码
1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List<Tree<Test>> trees = new ArrayList<Tree<Test>>(); tests.add(new Test("0", "", "关于本人")); tests.add(new
-
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.Linq; using System.Xml; using System.Xml.Linq; namespace WebApplication3 { public
-
详解JavaScript树结构
对于数据结构"树",想必大家都熟悉,今儿,我们就再来回顾一下数据结构中的二叉树与树,并用JavaScript实现它们. ps:树结构在前端中,很多地方体现得淋漓尽致,如Vue的虚拟DOM以及冒泡等等. 二叉树 --概念-- 二叉树是一种树形结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒. 如下,就是一棵二叉树(注:下文二叉树相关例子,都以该二叉树为例): 且,遍历二叉树(traversing binary t
-
Python实现二叉树结构与进行二叉树遍历的方法详解
二叉树的建立 使用类的形式定义二叉树,可读性更好 class BinaryTree: def __init__(self, root): self.key = root self.left_child = None self.right_child = None def insert_left(self, new_node): if self.left_child == None: self.left_child = BinaryTree(new_node) else: t = BinaryTr
-
Java实现简单树结构
简单的实现了一个树的结构,很不完善!后续参考一些其他代码的实现. 试图实现叶子存在可变的节点,能够用来解析xml文件. 叶子的代码: package com.app; import java.util.ArrayList; import java.util.List; public class treeNode<T> { public T t; private treeNode<T> parent; public List<treeNode<T>> node
-
mybatis实现读取树结构数据实例代码
mybatis实现读取树结构数据详细介绍如下所示: 表结构 CREATE TABLE `lscrm_function_privilege` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号', `create_id` varchar(30) NOT NULL DEFAULT 'sys', `update_id` varchar(30) NOT NULL DEFAULT 'sys', `create_time` timestam
随机推荐
- MYSQL子查询和嵌套查询优化实例解析
- js实现支持手机滑动切换的轮播图片效果实例
- C语言中数据结构之链表归并排序实例代码
- jQuery 浮动导航菜单适合购物商品类型的网站
- 利用location.hash实现跨域iframe自适应
- PHP处理excel cvs表格的方法实例介绍
- mysql5.7.17.msi安装图文教程
- mysql 5.5.x zip直接解压版安装方法
- 完美解决PHP中的Cannot modify header information 问题
- 压缩包密码破解示例分享(类似典破解)
- 浅析js 文字滚动效果
- javascript提取URL的搜索字符串中的参数(自定义函数实现)
- 在ASP里面创建GUID
- 高效的jquery数字滚动特效
- Win7 IIS7.5运行ASP时出现500错误的解决办法
- JQuery获取与设置HTML元素的内容或文本的实现代码
- 前端跨域的几种解决方式总结(推荐)
- 表单提交前触发函数返回true表单才会提交
- jquery map方法使用示例
- 网站优化细节之服务器的选择真没见过
