Python打印scrapy蜘蛛抓取树结构的方法


Posted in Python onApril 08, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python连接池实现示例程序
Nov 26 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
Python数据类型学习笔记
Jan 13 Python
Python三级目录展示的实现方法
Sep 28 Python
python 排序算法总结及实例详解
Sep 28 Python
python 默认参数相关知识详解
Sep 18 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
python requests.get带header
May 05 Python
python如何操作mysql
Aug 17 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python实现人性化显示金额数字实例详解
Sep 25 Python
使用IPython来操作Docker容器的入门指引
Apr 08 #Python
仅用50行Python代码实现一个简单的代理服务器
Apr 08 #Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 #Python
Python 创建子进程模块subprocess详解
Apr 08 #Python
Python中使用gzip模块压缩文件的简单教程
Apr 08 #Python
Python使用scrapy抓取网站sitemap信息的方法
Apr 08 #Python
Python中用format函数格式化字符串的用法
Apr 08 #Python
You might like
PHP 根据IP地址控制访问的代码
2010/04/22 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
2013/09/16 Javascript
Javascript递归打印Document层次关系实例分析
2015/05/15 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
jquery表单验证需要做些什么
2015/11/17 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
python统计一个文本中重复行数的方法
2014/11/19 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
Python字典dict常用方法函数实例
2020/11/09 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
linux面试题参考答案(2)
2015/12/06 面试题
恒华伟业笔试面试题
2015/02/26 面试题
销售代表求职自荐信
2013/10/01 职场文书
留学生如何写好自荐信
2013/12/27 职场文书
事业单位请假制度
2014/01/13 职场文书
优秀教师获奖感言
2014/01/31 职场文书
二年级语文教学反思
2014/02/02 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
十八大观后感
2015/06/12 职场文书
angular异步验证器防抖实例详解
2022/03/31 Javascript