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发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
python 简单的多线程链接实现代码
Aug 28 Python
Python中几种导入模块的方式总结
Apr 27 Python
python实现音乐下载的统计
Jun 20 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
Jul 03 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
python 如何将office文件转换为PDF
Sep 22 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
May 28 Python
python使用PySimpleGUI设置进度条及控件使用
Jun 10 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
PHILIPS L4X25T电路分析和打理
2021/03/02 无线电
PHP 高手之路(二)
2006/10/09 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
参考:关于Javascript中实现暂停的几篇文章
2007/03/04 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
给儿子的表扬信
2014/01/15 职场文书
副总经理任命书
2014/06/05 职场文书
银行实习推荐信
2015/03/27 职场文书
敬老院活动感想
2015/08/07 职场文书