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学习之编写查询ip程序
Feb 27 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
python不同版本的_new_不同点总结
Dec 09 Python
Python os和os.path模块详情
Apr 02 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&amp;&amp;mysql)三
2006/10/09 PHP
动易数据转成dedecms的php程序
2007/04/07 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
JavaScript焦点事件、鼠标事件和滚轮事件使用详解
2016/01/15 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
vuex提交state&amp;&amp;实时监听state数据的改变方法
2018/09/16 Javascript
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
基于python实现模拟数据结构模型
2020/06/12 Python
python与pycharm有何区别
2020/07/01 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
清扬洗发水广告词
2014/03/14 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
公安四风对照检查材料思想汇报
2014/10/11 职场文书
水电工岗位职责
2015/02/14 职场文书
英文版辞职信
2015/02/28 职场文书
导游词之日月潭
2019/11/05 职场文书