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中的元类(metaclass)
Feb 14 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
python3实现跳一跳点击跳跃
Jan 08 Python
Python3 批量扫描端口的例子
Jul 25 Python
Django中create和save方法的不同
Aug 13 Python
python编写俄罗斯方块
Mar 13 Python
Python爬虫实现vip电影下载的示例代码
Apr 20 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
python 数据分析实现长宽格式的转换
May 18 Python
Python json格式化打印实现过程解析
Jul 21 Python
python 删除系统中的文件(按时间,大小,扩展名)
Nov 19 Python
浅谈Python numpy创建空数组的问题
May 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
德生PL330测评
2021/03/02 无线电
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
javascript中call和apply方法浅谈
2013/09/27 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
jquery获取当前点击对象的value方法
2014/02/28 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
详解Javascript继承的实现
2016/03/25 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
Python多线程和队列操作实例
2015/06/21 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
对python中dict和json的区别详解
2018/12/18 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
个人评价范文分享
2014/01/11 职场文书
公务员政审个人鉴定
2014/02/25 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
2014公司年终工作总结
2014/12/19 职场文书
大学生党员个人总结
2015/02/13 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技