Python使用scrapy抓取网站sitemap信息的方法


Posted in Python onApril 08, 2015

本文实例讲述了Python使用scrapy抓取网站sitemap信息的方法。分享给大家供大家参考。具体如下:

import re
from scrapy.spider import BaseSpider
from scrapy import log
from scrapy.utils.response import body_or_str
from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
class SitemapSpider(BaseSpider):
 name = "SitemapSpider"
 start_urls = ["http://www.domain.com/sitemap.xml"]
 def parse(self, response):
  nodename = 'loc'
  text = body_or_str(response)
  r = re.compile(r"(<%s[\s>])(.*?)(</%s>)"%(nodename,nodename),re.DOTALL)
  for match in r.finditer(text):
   url = match.group(2)
   yield Request(url, callback=self.parse_page)
 def parse_page(self, response):
    hxs = HtmlXPathSelector(response)
    #Mock Item
  blah = Item()
  #Do all your page parsing and selecting the elemtents you want
    blash.divText = hxs.select('//div/text()').extract()[0]
  yield blah

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python 控制语句
Nov 03 Python
python集合类型用法分析
Apr 08 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
微信公众号token验证失败解决方案
Jul 22 Python
python实现车牌识别的示例代码
Aug 05 Python
Python SSL证书验证问题解决方案
Jan 13 Python
如何在django中运行scrapy框架
Apr 22 Python
Python实现汇率转换操作
May 03 Python
使用Keras中的ImageDataGenerator进行批次读图方式
Jun 17 Python
Python中的With语句的使用及原理
Jul 29 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
Python中用format函数格式化字符串的用法
Apr 08 #Python
简单介绍Python中的JSON模块
Apr 08 #Python
Python实现把xml或xsl转换为html格式
Apr 08 #Python
Python正则表达式匹配HTML页面编码
Apr 08 #Python
在Python中关于中文编码问题的处理建议
Apr 08 #Python
Python脚本实现格式化css文件
Apr 08 #Python
Python实现获取操作系统版本信息方法
Apr 08 #Python
You might like
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
php实现的mongodb操作类
2015/05/28 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
基于jquery的cookie的用法
2011/01/10 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
jQuery实现自定义右键菜单的树状菜单效果
2015/09/02 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
js 动态生成html 触发事件传参字符转义的实例
2017/02/14 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
浅谈Express.js解析Post数据类型的正确姿势
2019/05/30 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
python 远程统计文件代码分享
2015/05/14 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
机电一体化专业应届生求职信
2013/11/27 职场文书
千元咖啡店的创业计划书范文
2013/12/29 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
Python集合的基础操作
2021/11/01 Python
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python