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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
python中kmeans聚类实现代码
Feb 23 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
pycharm修改file type方式
Nov 19 Python
pycharm设置当前工作目录的操作(working directory)
Feb 14 Python
Python文件操作基础流程解析
Mar 19 Python
如何将PySpark导入Python的放实现(2种)
Apr 26 Python
python同时遍历两个list用法说明
May 02 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 Python
使用python绘制分组对比柱状图
Apr 21 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中文件上传的安全问题
2006/10/09 PHP
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
决策树的python实现方法
2014/11/18 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
Python pip配置国内源的方法
2020/02/14 Python
python中的django是做什么的
2020/07/31 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
Python与C/C++的相互调用案例
2021/03/04 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
大专生毕业的自我评价
2014/02/06 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
广播体操口号
2014/06/18 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android
WCG2010 星际争霸决赛 Flash vs Goojila 1 星际经典比赛回顾
2022/04/01 星际争霸