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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python for Informatics 第11章 正则表达式(一)
Apr 21 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
老生常谈Python基础之字符编码
Jun 14 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
python七夕浪漫表白源码
Apr 05 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
python自动化测试之异常及日志操作实例分析
Nov 09 Python
python 装饰器的使用示例
Oct 10 Python
90行Python代码开发个人云盘应用
Apr 20 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 文件扩展名 获取函数
2009/06/03 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2021/03/09 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
深入认识JavaScript中的函数
2007/01/22 Javascript
javascript知识点收藏
2007/02/22 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
Python实现的双色球生成功能示例
2017/12/18 Python
python绘制立方体的方法
2018/07/02 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python如何实现远程方法调用
2020/08/07 Python
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
广告语设计及教案
2014/03/21 职场文书
班训口号大全
2014/06/18 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
发布会邀请函
2015/01/31 职场文书
医生辞职信范文
2015/03/02 职场文书
教师网络培训心得体会
2016/01/09 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
2021/08/23 HTML / CSS
Python软件包安装的三种常见方法
2022/07/07 Python