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 相关文章推荐
10款最好的Web开发的 Python 框架
Mar 18 Python
Python的迭代器和生成器
Jul 29 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
Python yield 使用方法浅析
May 20 Python
python 函数传参之传值还是传引用的分析
Sep 07 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
May 10 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Python-接口开发入门解析
Aug 01 Python
python 使用递归实现打印一个数字的每一位示例
Feb 27 Python
Python过滤序列元素的方法
Jul 31 Python
详解python polyscope库的安装和例程
Nov 13 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
JS使用正则表达式验证身份证号码
2017/06/23 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
vue移动端屏幕适配详解
2019/04/30 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
Python连接mssql数据库编码问题解决方法
2015/01/01 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
python如何为被装饰的函数保留元数据
2018/03/21 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
大学班级文化建设方案
2014/05/06 职场文书
授权委托书格式
2014/07/31 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
工作报告范文
2019/06/20 职场文书
公历12个月名称的由来
2022/04/12 杂记