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实现数独算法实例
Jun 09 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
python网络爬虫学习笔记(1)
Apr 09 Python
python获取微信小程序手机号并绑定遇到的坑
Nov 19 Python
django之状态保持-使用redis存储session的例子
Jul 28 Python
python中的RSA加密与解密实例解析
Nov 18 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
Python递归实现打印多重列表代码
Feb 27 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
Python数据分析入门之教你怎么搭建环境
May 13 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下拉选项的批量操作的实现代码
2013/10/14 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHP 中常量的知识整理
2017/04/14 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
javascript 函数式编程
2007/08/16 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
jquery中ajax处理跨域的三大方式
2016/01/05 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
关于AOP在JS中的实现与应用详解
2019/05/06 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
vue 实现element-ui中的加载中状态
2020/11/11 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
优秀的茶餐厅创业计划书
2014/01/03 职场文书
超市重阳节活动方案
2014/02/10 职场文书
PHP新手指南
2021/04/01 PHP
Python基础之常用库常用方法整理
2021/04/30 Python
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
一文搞清楚MySQL count(*)、count(1)、count(col)区别
2022/03/03 MySQL
app场景下uniapp的扫码记录
2022/07/23 Java/Android