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实现字典的key和values的交换
Aug 04 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
python队列queue模块详解
Apr 27 Python
Django实现分页功能
Jul 02 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
Django中ORM外键和表的关系详解
May 20 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
屏蔽Django admin界面添加按钮的操作
Mar 11 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
Python使用windows设置定时执行脚本
Nov 12 Python
python缺失值的解决方法总结
Jun 09 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 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php使用文本统计访问量的方法
2016/05/12 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
php判断文件上传图片格式的实例详解
2017/09/30 PHP
GreyBox技术总结(转)
2010/11/23 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
cookie的secure属性详解
2015/04/08 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
JS前端笔试题分析
2016/12/19 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python负载均衡的简单实现方法
2018/02/04 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
电视节目策划方案
2014/05/16 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
倡议书范文大全
2015/04/28 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
mysql 排序失效
2022/05/20 MySQL